pbp Δημοσ. 11 Φεβρουαρίου 2012 Δημοσ. 11 Φεβρουαρίου 2012 Γεια σας, Θα ήθελα να κάνω μία απλή ερώτηση GUI στη JAVA. > public class Buttons1 extends JFrame { private JLabel label1; private JButton button1; private JButton button2; public Buttons1() { setTitle("Επίδειξη JButton και ActionEvent"); Toolkit t = Toolkit.getDefaultToolkit(); Dimension d = t.getScreenSize(); int x = d.width-this.getWidth(); int y = d.height-this.getHeight(); this.setLocation(x,y); setSize(500, 150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setResizable(true); label1 = new JLabel("Ετικέτα"); label1.setFont(Font.decode("Verdana-bold-20")); button1 = new JButton(); button1.setText("Απενεργοποίηση ετικέτας"); button1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { label1.setEnabled(false); } }); button2 = new JButton("Ενεργοποίηση ετικέτας"); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { label1.setEnabled(true); } }); FlowLayout aLayout = new FlowLayout(); setLayout(aLayout); add(button1); add(button2); add(label1); aLayout.setHgap(40); aLayout.setVgap(20); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { Buttons1 frame = new Buttons1(); } }); } } Γιατί στο παραπάνω παράδειγμα δεν δημιουργεί ένα αντικείμενο frame της κλάσης JFrame και καλεί κατευθείαν τη μέθοδο setTitle κλπ...? Δεν θα έπρεπε να είναι κάπως έτσι? > public class Buttons1 extends JFrame { private JLabel label1; private JButton button1; private JButton button2; private JFrame frame; public Buttons1() { frame = new JFrame(); frame.setTitle("Επίδειξη JButton και ActionEvent"); . . . Ευχαριστώ.
xlomo Δημοσ. 11 Φεβρουαρίου 2012 Δημοσ. 11 Φεβρουαρίου 2012 Buttons1 frame = new Buttons1(); frame.setVisible(true);
GrandGamer Δημοσ. 11 Φεβρουαρίου 2012 Δημοσ. 11 Φεβρουαρίου 2012 Η απάντηση στην ερώτησή σου βρίσκεται ακριβώς εδώ: >public class Buttons1 extends JFrame { Η κλάσση Buttons1 κληρονομεί την JFrame οπότε είναι JFrame από μόνη της.
pbp Δημοσ. 11 Φεβρουαρίου 2012 Μέλος Δημοσ. 11 Φεβρουαρίου 2012 Η απάντηση στην ερώτησή σου βρίσκεται ακριβώς εδώ: >public class Buttons1 extends JFrame { Η κλάσση Buttons1 κληρονομεί την JFrame οπότε είναι JFrame από μόνη της. Δηλαδή η κλάση JFrame δημιουργεί από μόνη της ένα αντικείμενο frame του εαυτού της και άρα εγώ στην κλάση Button1 αναφέρομαι σε αυτό είτε με το this. είτε καλώντας απλά τις μεθόδους του αντικειμένου frame της κλάσης JFrame?
GrandGamer Δημοσ. 11 Φεβρουαρίου 2012 Δημοσ. 11 Φεβρουαρίου 2012 Ακριβώς. Η Buttons1 είναι και JFrame οπότε λειτοθργεί και ως frame. Οπότε μπορείς να το διαχειριστείς και ως JFrame.
pbp Δημοσ. 11 Φεβρουαρίου 2012 Μέλος Δημοσ. 11 Φεβρουαρίου 2012 Ακριβώς. Η Buttons1 είναι και JFrame οπότε λειτοθργεί και ως frame. Οπότε μπορείς να το διαχειριστείς και ως JFrame. ok Ευχαριστώ!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα