This shows you the differences between two versions of the page.
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. |