Ich habe mehrere Male in den letzten fragen, warum einige meiner Java/Swing Popup-Menüs zu funktionieren scheint unter Linux aber nicht unter von Windows und umgekehrt. Wie implementiere ich ein Popup-Menü, das auf beiden Betriebssystemen funktioniert?Wie ein Popup-Menü in Swing zu implementieren, die sowohl unter Windows und Linux arbeitet
0
A
Antwort
2
Lesen Sie den Abschnitt aus dem Swing-Tutorial auf Bringing Up a Popup Menu für Arbeitsbeispiele.
Es zeigt, wie man die isPopupTrigger()
Methode der MouseEvent
verwendet.
Oder Sie können die setComponentPopupMenu(...)
Methode von JComponent
verwenden, die seit JDK 1.5 vorhanden ist und Sie müssen sich nicht um den MouseListener kümmern.
1
In Windows funktioniert ein Aufruf von MouseEvent :: isPopupTrigger problemlos in der mouseReleased-Methode, gibt aber immer false zurück, wenn er innerhalb der mousePressed-Methode aufgerufen wird. In Linux ist das Gegenteil der Fall.
Verwandte Themen
- 1. fread/ftell anscheinend unter Windows gebrochen, arbeitet unter Linux
- 2. Namespace Autoload arbeitet unter Windows, aber nicht auf Linux
- 3. Kompilieren unter Windows und Linux
- 4. Wie setze ich die DPI von Java Swing Apps unter Windows/Linux?
- 5. Cross-kompilieren unter Windows und Linux
- 6. mxmlc kompiliert anders unter Linux und Windows?
- 7. TCP-Verbindungserzeugung unter Windows und Linux
- 8. setDefaultCloseOperation nicht in Swing arbeitet
- 9. verschiedene Rand() Ergebnisse unter Windows und Linux
- 10. Gibt es ein Äquivalent zu/dev/null, das sowohl unter Windows als auch unter Unix funktioniert?
- 11. Artikel aus Popupmenü ausblenden
- 12. White Screen beim Umschalten zwischen Swing-Frames unter Linux
- 13. R-Paket funktioniert sowohl in Windows als auch in Linux
- 14. UDP in C# funktioniert unter Windows, aber nicht unter Linux
- 15. Wie MVC in Java mit Swing richtig zu implementieren?
- 16. Solid Config für Webdev in Emacs unter Linux UND Windows?
- 17. Wie ein Linux-Kommandozeilenprogramm in Windows arbeiten?
- 18. Wie OCaml Bytecode, der unter Windows und Linux funktioniert
- 19. Interaktiv ein- und ausschalten unter Linux?
- 20. Wie zu implementieren Maustreiber Linux USB-Maustreiber?
- 21. Windows, Linux und Speicherverwaltung
- 22. Wie programmiere ich ein Programm unter Windows?
- 23. Ziehen und Ablegen von Java Swing-Anwendung zu Windows Explorer
- 24. Hinzufügen von Windows-Codierung zu Eclipse unter Linux
- 25. Warum funktioniert ein Linux kompiliertes Programm nicht unter Windows
- 26. Debugging unter Linux für Windows Entwickler
- 27. Django arbeitet unter IIS7
- 28. Python: Mount Point unter Windows oder Linux
- 29. Wie implementieren Sie mehrsprachige Java/Swing-Anwendungen?
- 30. Android Popupmenü Textfarbe (AppCompat)
Wie der Link von @camickr erwähnt, ist es nicht so sehr das Betriebssystem, sondern die LAF, die Sie verwenden. – FredK