Aufruf einer andere Classe funktioniert nicht ?

Code46

Erfahrenes Mitglied
Eine letzte frage ich habe ja diesen aufruf pack(). Dieser aufruf stellt die größe des GUIs automatisch ein.
Ich habe das jetzt im konstraktor eingebaut jedoch passt sich der GUI nicht richtig an, es ist bischen klein wenn sich das fenster öffnet.
Kann man das irgendwie definieren oder soll ich am besten die größe des Fenster selber festsetzten?

Und ich habe bei btnclose system.exit(0) gecodet das schließt alle fenster ich möchte jedoch nur das eine fenster schließen. Muss ich bei system.exit() einen anderen wert eingeben,damit er nur das eine Fenster schließt ?
 
Zuletzt bearbeitet:

Akeshihiro

Erfahrenes Mitglied
pack() berechnet die Größe selbst, ja. Aber es geht auch nur von der preferredSize der Komponenten aus. Wenn es bei dir also zu klein ist, dann solltest du besser die Größe deines Fenster manuell setzen.

System.exit() schließt die gesamte Anwendung. Welche Zahl du dabei als Parameter übergibst, ist dabei vollkommen egal. Diese Zahl dient lediglich als Rückgabewert für andere Anwendungen, wenn die wissen wollen, ob das Programm normal durchlief oder ob es einen Fehler gab. In der Regel bedeutet der Wert 0, dass alles ohne Probleme durchlief und alles andere sind Fehlercodes, die du aber selbst definieren kannst.

Du brauchst an der Stelle aber folgendes:
Java:
setVisible(false);
dispose();

Und auch in deinem Konstruktor von Projekt solltest du dann anstatt
Java:
setDefaultCloseOperation(EXIT_ON_CLOSE);
lieber
Java:
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
verwenden, sonst schließt sich wieder das gesamte Programm.