TextPane Menue

Die Entwicklungsumgebung intelliJ IDEA hat einen sehr guten GUI-Builder und -Editor, aber es gibt eine Sache, bei der intelliJ grottenschlecht arbeitet, und das ist die Erstellung eines Menüs. Ihr werdet Euch bei den diversen Beispielen zur JTextPane sicherlich gefragt haben: „warum verwendet er kein Menü ?“ – hier ist die Antwort.

Ich habe sehr viele Webseiten durchsucht und ausprobiert, die nachstehende Lösung ist die einzig funktionierende Variante. Üblicherweise wird das Menü ja innerhalb der Klasse programmiert, in der das Menü auch genutzt werden soll, aber das funktioniert leider nicht.

Die Lösung besteht darin, dass ich eine „Starterklasse“ („Main.java“) der „TextPane.java“ vorschalte und das Menü darin händisch aufbaue. Ebenso werden auch die Action Listener der einzelnen Menüpunkte innerhalb der Starterklasse erstellt. Dann wird das Menü der ContentPane hinzugefügt, allerdings mit dem Kniff, dass ich den Namen des Ziel-Panels innerhalb der TextPane-Klasse abfrage und der Starterklasse zur Verfügung stelle:

Hierdurch kann ich die komplette Funktionalität des Menüs nutzen und verwenden:

Nun folgen die Quellcodes, 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