Zugriff auf Komponenten, die im GUI-Designer auf IntelliJ erstellt wurden

8

Obwohl ich Swing verwendet habe, bevor ich einen GUI-Designer verwendet habe und Probleme beim Zugriff auf Komponenten habe, die ich aus meinem Quellcode in mein Panel eingefügt habe.

Ich habe ein neues Projekt erstellt und ein GUI-Formular erstellt. Ich habe dann die Hauptmethode mit der 'generate' Option erstellt und jetzt habe ich diesen Code in meiner 'helloWorld.java' Datei.

%Vor%

Ich habe dann im Designer ein JLabel mit dem Feldnamen title hinzugefügt, das dem Kopf meiner helloWorld-Klasse ein Attribut hinzugefügt hat. Ich möchte nun den Text auf den Feldnamen setzen, nachdem das Programm ausgeführt wurde.

Wenn ich die JLabel-Instanz mit einer neuen Zeichenfolge als Argument erstellen und sie zu meinem JFrame hinzufügen, stürzt das Programm mit einer Nullzeiger-Ausnahme ab.

Wenn ich ein JLabel ohne Argumente erstellen und setText aufrufen und dann auf dem JFrame neu streichen, passiert nichts.

Ich schätze mein Problem in einer einzigen Zeile: Wie greife ich auf Komponenten zu, die ich mit dem GUI-Designer erstellt habe?

    
Ash 11.02.2012, 18:44
quelle

2 Antworten

11

Erstens ist IntelliJ etwas Besonderes, da es einen großen Teil des Standardcodes für Sie versteckt, so dass Ihr Quellcode tatsächlich einfacher aussieht, als was wirklich unter der Haube passiert.

Wenn Sie den IntelliJ GUI-Builder verwenden, erhalten Sie im Grunde einen Quellcode, der Ihrem Formular entspricht und folgendermaßen aussieht:

%Vor%

Um auf diese zugreifen zu können, können Sie einfach Getter zu dieser Quelldatei hinzufügen:

%Vor%

Auch hier ändert IntelliJ entweder den Quellcode oder modifiziert die Klassendateien automatisch für Sie (Sie können im Einstellungen / GUI Builder die beiden Optionen testen und sehen, was sie tun).

  

Wie greifen Sie auf Komponenten zu, die ich mit der GUI erstellt habe?   Designer?

Sie können zur Quellcode-Datei Ihrer GUI gehen und Getter hinzufügen. Stellen Sie sicher, dass Sie Ihre Komponenten benennen ...

    
TacticalCoder 11.02.2012, 18:59
quelle
0

Der automatisch generierte Initialisierungscode in Ihrer Bindungsklasse sieht folgendermaßen aus:

%Vor%

Weitere Informationen zum IntelliJ-Initialisierungscode finden Sie in dieser Jetbrains-Dokumentation: Formularinitialisierungscode erstellen

    
meip 17.10.2013 14:00
quelle