Frame Close Frage

Status
Nicht offen für weitere Antworten.

fantrixx

Bekanntes Mitglied
Hi all,

ich habe ein Hauptfenster, wenn ich ein Button vom Hauptfenster betätige üffnet sich ein neues Frame. So wenn ich das zweite Frame schließe beendet sich das ganze Programm.
Ich wollte gerne das nur die Fenster geschloßen werden die ich auch schließen will. Sprich das Programm soll nur geschlossen werden wenn ich das Hauptfenster schließe.
 

The_S

Top Contributor
du hast beim zweiten Frame nicht reinzufällig diese Codezeile

Code:
setDefaultCloseOperation(Frame.EXIT_ON_CLOSE)

?
 

fantrixx

Bekanntes Mitglied
als WindowListener haeb ich das hier stehen:

Code:
addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
 

The_S

Top Contributor
Öhm ... joa ... und warum wunderts dich dann wenn er die Applikation beim Schließen des Frames beendet?
 

fantrixx

Bekanntes Mitglied
is kalr ich weiss ja was System.exit(0) macht nur wollte ich wissen was ich statt dessen da rein tun sollte ?
 
B

bygones

Gast
gar kein Windowlistener dem zweiten Frame hinzufügen.

afaik ist DISPOSE_ON_CLOSE der Standart beim Frame, d.h. er verschwindet einfach beim schließen
 

Eminent

Bekanntes Mitglied
deathbyaclown hat gesagt.:
gar kein Windowlistener dem zweiten Frame hinzufügen.

afaik ist DISPOSE_ON_CLOSE der Standart beim Frame, d.h. er verschwindet einfach beim schließen

Genau, einen WindowListener brauchst du eigentlich nur, wenn etwas spezielles beim Schließen des Frames / Fensters passieren soll. Da du deinen zweiten Frame ja aber einfach nur schließen willst benötigt dieser keinen WindowListener. Kannst auch mal schauen ob du beim Frame vielleicht noch andere "Close-Operations" findest, die dir zusagen. Im Normalfall sollte aber für deinen Fall der Standard (siehe deathbyaclown) reichen.
 

fantrixx

Bekanntes Mitglied
Ich habe meinen WindowListener entfernt und wenn ich dann versuche das Fenster zu schließen passiert leider nichts :(

Das heißt das Fenster bleibt immer noch da.
 

Caffè Latte

Bekanntes Mitglied
Hi,

dort, wo du das Frame initialisierst (also z.B. die Swing-Komponenten erzeugst und einfügst), musst du noch

Code:
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

hinzufügen. Dann läßt sich das Frame auch schliessen.

Hoffe es hilft,

Caffè Latte
 

The_S

Top Contributor
fantrixx hat gesagt.:
Ich habe meinen WindowListener entfernt und wenn ich dann versuche das Fenster zu schließen passiert leider nichts :(

Das heißt das Fenster bleibt immer noch da.

Öhm, kann eigentlich net sein. Verwende eigentlich nur in den seltensten Fällen nen WindowListener und das Fenster schließt sich immer! "Übergangsweise" kannst du auch das hier verwenden

Code:
addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent evt) { frame.setVisible(false); } 
    });

aber gib bitte mal Code, weil das kann eigentlich net sein ...

@ Eminent

Eminent hat gesagt.:
Genau, einen WindowListener brauchst du eigentlich nur, wenn etwas spezielles beim Schließen des Frames / Fensters passieren soll.

Wer hat dir denn das erzählt?
 

fantrixx

Bekanntes Mitglied
Hier der Code man sieht das ich den WindowListener auskommentiert habe wie ihr das gesagt habt:

Code:
import java.awt.*;
import java.awt.event.*;

public class about extends Frame {
  // Anfang Variablen
  private Label label1 = new Label();
  private Label label2 = new Label();
  private Label label3 = new Label();
  private Label label4 = new Label();
  // Ende Variablen

  public about(String title) {
    // Frame-Initialisierung
    super(title);
    /*
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    */
    int frameWidth = 273;
    int frameHeight = 145;
    setSize(frameWidth, frameHeight);
    Panel cp = new Panel(null);
    add(cp);
    // Anfang Komponenten

    label1.setBounds(8, 8, 118, 29);
    label1.setText("Lyric Saver");
    label1.setFont (new Font("MS Sans Serif", Font.PLAIN, 21));
    cp.add(label1);
    label2.setBounds(8, 40, 74, 24);
    label2.setText("Vers. 0.2");
    label2.setFont (new Font("MS Sans Serif", Font.PLAIN, 17));
    cp.add(label2);
    label3.setBounds(152, 72, 103, 20);
    label3.setText("");
    label3.setFont (new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(label3);
    label4.setBounds(168, 96, 91, 16);
    label4.setText("");
    label4.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(label4);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Ereignisprozeduren
  // Ende Ereignisprozeduren

  public static void main(String[] args) {
    new about("about");
  }
}
 

The_S

Top Contributor
Ach verdammt. Du arbeitest ja (wie du geschrieben hast) mit Frame und nicht mit JFrame (wovon ich die ganze Zeit fälschlicher weiße ausgegangen bin). Hab mit awt noch net sonderlich viel gemacht, aber nach meinen ersten Erkentnissen benötigst du wirklich einen WindowListener.

Damit dürfte die Methode von Caffè Latte auch hinfällig sein.

Würde sagen mein "Workaround" ist die Lösung für dein Prob. Evtl. wissen erfahrenere AWT Programmierer aber noch ne andere Lösung!?
 

L-ectron-X

Gesperrter Benutzer
Was ist jetzt daran so schwer?
In deinem Hauptframe packst du das in den Konstruktor:
Code:
addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) {
    System.exit(0);
  }
});

In deinen Nebenfenstern, die vom Hauptframe erzeugt werden packst du das in den Konstruktor:
Code:
addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) {
    setVisible(false); //wenn ein Fenster mit Benutzereingaben noch mal benötigt wird.
    dispose(); //wenn ein Fenster mit Benutzereingaben nicht mehr benötigt wird.
  }
});
 

fantrixx

Bekanntes Mitglied
Stimmt ! :D Ich habe das voll vergessen als du das hier reingeschrieben hast ist mir das jetzt erst eingefallen ;)
 

Eminent

Bekanntes Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
@ Eminent

Eminent hat gesagt.:
Genau, einen WindowListener brauchst du eigentlich nur, wenn etwas spezielles beim Schließen des Frames / Fensters passieren soll.

Wer hat dir denn das erzählt?

Das sollte nicht allgemein gelten, sondern war auf seinen Fall bezogen (wobei ich auch nicht beachtet hab, dass er mit Frame und nicht mit JFrame arbeitet).

In seinem Fall gings ja jetzt um das Schließen des Frames und da braucht man (zumindest halt beim JFrame) nur dann einen WindowListener, wenn außer dem Schließen noch was spezielles passieren soll. Oder liege ich da falsch? Lasse mich auch gern eines besseren belehren.
 

The_S

Top Contributor
In dem speziellen Fall nicht. Wollte nur darauf hinweisen, dass der WindowListener auch dazu verwendet werden kann um vor dem Beenden noch was zu erledigen und nicht, dass darin sein einzigster Verwendungszweck steckt ;)
 

Eminent

Bekanntes Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
In dem speziellen Fall nicht. Wollte nur darauf hinweisen, dass der WindowListener auch dazu verwendet werden kann um vor dem Beenden noch was zu erledigen und nicht, dass darin sein einzigster Verwendungszweck steckt ;)

Da kann und muss ich dir natürlich vollkommen zustimmen :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ModellbahnerTT Unterschied zwischen zwei Frame close Varianten Java Basics - Anfänger-Themen 3
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
frager2345 Fensterklasse, Wie auf Frame im Listender zugreifen (ItemEvents) Java Basics - Anfänger-Themen 7
S GUI Frame wechseln Java Basics - Anfänger-Themen 15
C Exportierte JAR öffnet zweiten Frame nicht mehr Java Basics - Anfänger-Themen 7
C Erkennen ob Frame geschlossen wurde Java Basics - Anfänger-Themen 2
C Erste Schritte Spieler an anderen Frame weitergeben Java Basics - Anfänger-Themen 23
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
M Erste Schritte Neuen Frame nur einmal offen haben Java Basics - Anfänger-Themen 6
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
R Erste Schritte Frame mit Ladebalken und BestätigungsButton Java Basics - Anfänger-Themen 10
das_leon Interface Frame in einem Frame (Window Builder) Java Basics - Anfänger-Themen 2
Anfänger2011 Frame zeigt nicht gewünschtes Ergebnis an ... Java Basics - Anfänger-Themen 5
Z Object Kreis am Frame abprallen lassen! Java Basics - Anfänger-Themen 12
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
I Methoden Schwierikeiten mit Protokollfenster (Frame Objekt) Java Basics - Anfänger-Themen 4
A mehrere Panels in eigenen Klasssen in einem Frame Java Basics - Anfänger-Themen 16
J Extra Fenster (Frame) Java Basics - Anfänger-Themen 20
W Frame in anderer Klasse anzeigen lassen Java Basics - Anfänger-Themen 1
E Von Instanz des Dialogs auf das Frame zugreifen Java Basics - Anfänger-Themen 8
E 2. JFrame erkennt 1. Frame Java Basics - Anfänger-Themen 6
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
H Textfeldinhalt löschen nachdem Frame geschlossen wird Java Basics - Anfänger-Themen 8
L Kalender Java Frame Java Basics - Anfänger-Themen 7
A Frame Java Basics - Anfänger-Themen 3
P Verwirrung mit AWT Frame und main Methode Java Basics - Anfänger-Themen 19
A Frame java Java Basics - Anfänger-Themen 3
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
J Erste Schritte Speichern / Speichern unter / title Frame Java Basics - Anfänger-Themen 5
F Frame in Frame Java Basics - Anfänger-Themen 3
U GUI - resize frame Java Basics - Anfänger-Themen 13
J Open reading Frame Java Basics - Anfänger-Themen 4
J Erstelltes Frame wird nicht angezeigt Java Basics - Anfänger-Themen 2
K Frame öffnen klappt nicht?! Java Basics - Anfänger-Themen 36
JAVAnnik Anwendung nach Schließen vom letzen Frame Java Basics - Anfänger-Themen 9
B Referenz zu anderen Frame Java Basics - Anfänger-Themen 10
A Frame Background Java Basics - Anfänger-Themen 21
S Klassen Klassenname = Frame? Java Basics - Anfänger-Themen 11
R Eingefärbtes Panel wird in Frame nicht angezeigt Java Basics - Anfänger-Themen 10
I Java - Text in neuem Frame wird nicht angezeigt Java Basics - Anfänger-Themen 4
M Frame mit mehreren areas Java Basics - Anfänger-Themen 14
B Frame über Button öffnen Java Basics - Anfänger-Themen 8
R Button soll neuen Frame öffnen Java Basics - Anfänger-Themen 21
L Variablen Frame Variablen-Schleife Java Basics - Anfänger-Themen 3
D Neues Frame öffnen Java Basics - Anfänger-Themen 7
V Frame bleibt grau Java Basics - Anfänger-Themen 5
G Polygon in Frame zeichnen Java Basics - Anfänger-Themen 3
F frame wird nicht angezeigt? Java Basics - Anfänger-Themen 10
S 2 Panels in einen Frame Java Basics - Anfänger-Themen 5
H Panels in Frame einbinden Java Basics - Anfänger-Themen 3
E Frame neu Zeichnen Java Basics - Anfänger-Themen 3
A Bild wird auf Frame nicht angezeigt! Keine Fehlermeldung Java Basics - Anfänger-Themen 3
O Grafik in Frame laden Java Basics - Anfänger-Themen 9
T Frame öffnen Java Basics - Anfänger-Themen 6
I 1 Frame und mehrere Panels klappt nicht Java Basics - Anfänger-Themen 4
I JTable in bestehenden Frame integrieren Java Basics - Anfänger-Themen 6
Y Hilfe: JOGL / OPENGL in Frame Java Basics - Anfänger-Themen 2
J Frame schließen, Ereignis behandeln, Vorgang abbrechen Java Basics - Anfänger-Themen 4
Luk10 Frame schließen Java Basics - Anfänger-Themen 2
A Frame schließen!? Help! Java Basics - Anfänger-Themen 5
A Frame reagiert nicht Java Basics - Anfänger-Themen 6
H Modalen JDialog schließen, ohne dabei das Parent-Frame zu schließen Java Basics - Anfänger-Themen 7
J Frame bleibt schwarz beim Laden Java Basics - Anfänger-Themen 11
R Frame Inhalt ausrichten Java Basics - Anfänger-Themen 5
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
E Verständnisfrage Syntax: frame.getContentPane().add(button) Java Basics - Anfänger-Themen 11
Stillmatic1985 Label in einem Frame zentrieren Java Basics - Anfänger-Themen 4
A Grafik erstellen und in Frame einfügen Java Basics - Anfänger-Themen 17
A Java Frame per X schließen? Java Basics - Anfänger-Themen 7
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
kulturfenster Panel in Frame integrieren Java Basics - Anfänger-Themen 5
kulturfenster Per Button Frame schliessen Java Basics - Anfänger-Themen 2
C Frame, JFrame, JDialog Java Basics - Anfänger-Themen 12
I JButton zum frame schließen Java Basics - Anfänger-Themen 6
M Variable in Frame anzeigen Java Basics - Anfänger-Themen 11
O Beim Schließen JDialog, im Frame-Owner eine Methode starten Java Basics - Anfänger-Themen 6
hdi Desktop-Auflösung abfragen -> setLocation() von Frame Java Basics - Anfänger-Themen 5
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
S Übergabe von Frame-Objekt - kritisch? Java Basics - Anfänger-Themen 7
N Frame in Frame erstellen Java Basics - Anfänger-Themen 2
B Java-Frame Taschenrechner - String -> Int und umgekehrt Java Basics - Anfänger-Themen 8
G Bild wird im falschen Frame angezeigt Java Basics - Anfänger-Themen 5
G Frame soll Focus behalten Java Basics - Anfänger-Themen 2
H Frame schließen Java Basics - Anfänger-Themen 5
G Frame Applet oder doch was anderes Java Basics - Anfänger-Themen 2
M Frame zeigt Desktop als Hintergrund Java Basics - Anfänger-Themen 2
J Eine swf-datei in einen Frame einfügen? Java Basics - Anfänger-Themen 6
K Schrift und Farben im Frame (Anfänger) Java Basics - Anfänger-Themen 2
D Frame in Center Screen Java Basics - Anfänger-Themen 7
A Frame aus Applet erzeugen und mit Inhalt füllen Java Basics - Anfänger-Themen 5
G Problemme mit: Aufruf einer Klasse aus einem Frame Java Basics - Anfänger-Themen 5
M Frame Schließen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben