swing:popup_menus

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
swing:popup_menus [2015/05/18 06:45]
gthanos
swing:popup_menus [2016/02/26 11:15] (current)
Line 16: Line 16:
 <code java>​public boolean isPopupTrigger()</​code>​ <code java>​public boolean isPopupTrigger()</​code>​
  
-Δείτε το παρακάτω απλοποιημένο παράδειγμα από το site της Oracle+Δείτε το παρακάτω απλοποιημένο παράδειγμα από το site της Oracle. Αυτό που αξίζει να προσέξετε είναι η εσωτερική κλάση ''​PopupListener''​ η οποία υλοποιεί το interface //​MouseListener//​ μέσω της επέκτασης της κλάσης //​MouseAdapter//​. Στα events //​mousePressed//​ και //​mouseReleased//​ αυτό που θα κάνουμε είναι να ελέγξουμε εάν το συγκεκριμένο event δικαιολογεί την εμφάνιση του pop-up menu. Σε αυτή την περίπτωση το εμφανίζουμε μέσω της μεθόδου  
 +<code java> 
 +void show(Component invoker, int x, int y) 
 +</​code>​ 
 +της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JPopupMenu.html|JPopupMenu]] στη θέση που προσδιορίζεται από τις συντεταγμένες (X,Y) του ποντικιού όταν έγινε το click event. 
 <code java PopupMenuDemo.java>​ <code java PopupMenuDemo.java>​
 package components; package components;
Line 164: Line 169:
 } }
 </​code>​ </​code>​
- 
-Αυτό που αξίζει να προσέξετε είναι η εσωτερική κλάση ''​PopupListener''​ η οποία υλοποιεί το interface //​MouseListener//​ μέσω της επέκτασης της κλάσης //​MouseAdapter//​. Στα events //​mousePressed//​ και //​mouseReleased//​ αυτό που θα κάνουμε είναι να ελέγξουμε εάν το συγκεκριμένο event δικαιολογεί την εμφάνιση του pop-up menu. Σε αυτή την περίπτωση το εμφανίζουμε μέσω της μεθόδου ​ 
-<code java> 
-void show(Component invoker, int x, int y) 
-</​code>​ 
-της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JPopupMenu.html|JPopupMenu]] στις θέσεις που προσδιορίζονται από την θέση του ποντικιού όταν έγινε το click event. 
swing/popup_menus.1431931526.txt.gz · Last modified: 2016/02/26 11:15 (external edit)