TextPane Popup Menue

Viele Benutzer eines Programms sind es gewohnt, das sie mit einem Klick auf die rechte Maustaste Editierbefehle auslösen können, welche in einem auftauchenden Fenster angeboten werden; Beispiele dafür sind die beliebten „copy and paste“ Befehle.

Dieser Artikel erläutert Euch, wie Ihr ein Popup-Menü in Euer Programm einbaut. So sieht später das fertige Programm aus:

Beim vorherigen Artikel (TextPane Menue) habe ich Euch das Konzept der Starterklasse vorgestellt und auf dieser Basis zeige ich Euch das Popup-Menü.

Alle notwendigen Programmierungen erledigen wir in der TextPane.java-Klasse. Wir legen ein Popup-Menü händisch analog zu einem Menü an (JPopupMenu und JMenuItem):

Dann verbinden wir die JTextPane über einen Mouse Listener mit dem Popup-Menü:

Jeder Popup-Menüpunkt benötigt einen Action Listener, um auf den Klick zu reagieren. Da das Popup-Menü „in“ der JTextPane ausgelöst wird kann ich die natürlichen (oder bereits eingebauten) Aktionen dadurch starten, das ich Mausklicks simuliere (hier am Beispiel der Tastenkombination Ctrl-X für ausschneiden):

Zu guter Letzt fehlt noch eine Routine, welche das Popmenü auch innerhalb der JTextPane anzeigt:

Hier nun die kompletten Programmcodes, wie immer benötigt Ihr intelliJ zum Nachbau:

Alle Quellcodes zur JTextPane findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/JTextPane. Alle Programme sind unter Java 11 lauffähig (vermutlich auch unter Java 8) und wurden mit intelliJ IDEA entwickelt, welches für das eigene „Spielen“ notwendig ist.

Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.

Letzte Bearbeitung: 12.02.2020