User Tools

Site Tools


swing:jbutton

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
swing:jbutton [2018/03/23 11:29] – created gthanosswing:jbutton [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 ===== Η κλάση JButton ===== ===== Η κλάση JButton =====
 +
 +Ένα αντικείμενο τύπου Button δημιουργείται όπως είδαμε με χρήση της κλάση [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html|JButton]] στην ενότητα [[swing:first_program|Το πρώτο μου πρόγραμμα]] ως εξής:
 +
 +<code java>
 +JButton endButton = new JButton("Click to end program");
 +endButton.addActionListener(new endProgramActionListener());
 +someJFrame.add(endButton);
 +</code>
 +
 +,όπου το Button που δημιουργείται γράφει //"Click to end program"//. Ένα αντικείμενο [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html|JButton]] επίσης συνδέεται με έναν ή περισσότερα αντικείμενα του τύπου //ActionListener// τα οποία εκτελούνται όταν ο χρήστης αλληλεπιδρά με το Button αυτό. Τέλος, το κάθε Button θα πρέπει να ενσωματωθεί σε ένα παράθυρο (ή σε κάποιο panel όπως θα δούμε αργότερα) μέσα από μία δήλωση ανάλογη με την 3η γραμμή του παραπάνω κώδικα.
 +
 +<WRAP tip 80% center round>
 +Η κλάση JButton συνδεέται με τα κουμπιά που εισάγει ο χρήστης και όχι με τα κουμπιά //minimize, resize, close// που βρίσκονται επάνω στο παράθυρο (για λειτουργικό σύστημα Windows επάνω δεξιά) και εισάγονται από το //window manager// του λειτουργικού συστήματος.
 +</WRAP>
 +
 +===== Action Listeners =====
 +
 +Όταν ο χρήστης πατάει το ποντίκι του πάνω σε ένα κουμπί ενός παραθύρου δημιουργείται ένα αντικείμενο που αντιστοιχεί στο event που δημιούργησε ο χρήστης. Το αντικείμενο αυτό, λαμβάνεται από ένα άλλο αντικείμενο που λειτουργεί ως ακροατής τέτοιων events και είναι τύπου [[https://docs.oracle.com/javase/8/docs/api/java/awt/event/ActionListener.html|ActionListener]]. Το αντικείμενο [[https://docs.oracle.com/javase/8/docs/api/java/awt/event/ActionListener.html|ActioListener]] όταν λάβει ένα //event// εκτελεί τη μέθοδο [[https://docs.oracle.com/javase/8/docs/api/java/awt/event/ActionListener.html#actionPerformed-java.awt.event.ActionEvent-|ActionPerformed]] με όρισμα το [[https://docs.oracle.com/javase/8/docs/api/java/awt/event/ActionEvent.html|ActionEvent]] που παρήχθη. 
 +
 +<code java>
 +void actionPerformed(ActionEvent e);
 +</code>
 +
 +<WRAP tip 80% center round>
 +Η κλήση της συγκεκριμένης μεθόδου γίνεται ασύγχρονα πράγμα που σημαίνει ότι καλείστε να ορίσετε την μέθοδο, αλλά σε κανένα σημείο του προγράμματος σας δεν θα χρειαστεί να την καλέσετε. 
 +</WRAP>
  
 Δείτε, μεταγλωττίστε και τρέξτε το παρακάτω παράδειγμα από [[https://docs.oracle.com/javase/tutorial/uiswing/components/button.html|το site της Oracle]] (αλλαγμένο), το οποίο και θα συζητήσουμε στη συνέχεια. Δείτε, μεταγλωττίστε και τρέξτε το παρακάτω παράδειγμα από [[https://docs.oracle.com/javase/tutorial/uiswing/components/button.html|το site της Oracle]] (αλλαγμένο), το οποίο και θα συζητήσουμε στη συνέχεια.
swing/jbutton.1521804554.txt.gz · Last modified: 2018/03/23 11:29 by gthanos