2 frames separat schliessen

Status
Nicht offen für weitere Antworten.

McSnoop

Bekanntes Mitglied
ich habe 1 frame mit menü und halt was drauf aufn frame. btn, Jlist usw.

wenn ich einen btn drück dann soll sich ein 2tes frame öffnen tut es auch. wenn ich dieses aber wieder schliesse soll das erste frame aber nicht geschlossen werden, was es aber im mom aber tut. =(

mfg
Snoop
 

dotlens

Top Contributor
du schliesst wohl mit System.exit(); da die beiden Frames den gleichen Prozess beanspruchen, werden dann auch beide beendet.
setze einfach visible auf false (setVisible(false);) und falls du keine Variablen mehr davon benötigst kannst du das Frame mit dispose() entfernen...
 

McSnoop

Bekanntes Mitglied
jup hatte das immer mit System.exit() geschlossen,

die Zeile:

Code:
   f.setVisible(false);

muss doch beim addWindowListener unter windowclosing rein oder??

habs da eingetragen aber es bleibt trotzdem visible. =(

mfg
Snoop
 

Stefan1200

Top Contributor
McSnoop hat gesagt.:
jup hatte das immer mit System.exit() geschlossen,

die Zeile:

Code:
   f.setVisible(false);

muss doch beim addWindowListener unter windowclosing rein oder??

habs da eingetragen aber es bleibt trotzdem visible. =(

Naja, bei windowsClosing ein f.setVisible(false) macht nicht viel sinn, jedenfalls nicht, wenn f das selbe Fenster wie das WindowListener Fenster ist.

Bei deinem Button ActionEvent muss der hin. f muss natürlich auch die Instanz von dem Fenster sein, was du schliessen willst.
 

dotlens

Top Contributor
Stefan1200 hat gesagt.:
Naja, bei windowsClosing ein f.setVisible(false) macht nicht viel sinn, jedenfalls nicht, wenn f das selbe Fenster wie das WindowListener Fenster ist.
wieso nicht? würde zwar noch ein dispose() empfehlen, aber manchmal ist es nötig noch referenzen auf das Frame zu haben.
wenn du auf schliessen bei einem anderen Frame klickst würde es mehr sinn machen?? *g*
 

McSnoop

Bekanntes Mitglied
hmm naja Code:

Code:
  public SimuFrame(){

   .......


  this.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
        ......
          hier steht normalerweise das ganze für den beenden dialog
          der wird doch dann geöffnet wenn ich auf das X oben recht klicke und ich dachte
          ich nehm das alles wech und setz dafür einfach das f.setvisible(false)
        ......
     }
  });
  }

f ist die instanz von dem 2ten frame.


bei dem ersten Frame:

Code:
 ...........

  btBut5.addActionListener(new ActionListener()
       {
          public void actionPerformed(ActionEvent e){
                 SimuFrame test = new SimuFrame();
          }
        });

  .......


Warum sollte die beenden klausel in den ActionListener??

es wird doch der Beenden Btn des 2ten Frames gedrückt??

mfg
Snoop
 

dotlens

Top Contributor
dein simuFrame wird aber von Frame/Jframe abgeleited?!? (extends Frame)

dann muss this die Methode besitzen....
woher kommt dein f?
zeig mal den ganzen code von simuFrame...
 

Stefan1200

Top Contributor
dotlens hat gesagt.:
Stefan1200 hat gesagt.:
Naja, bei windowsClosing ein f.setVisible(false) macht nicht viel sinn, jedenfalls nicht, wenn f das selbe Fenster wie das WindowListener Fenster ist.
wieso nicht? würde zwar noch ein dispose() empfehlen, aber manchmal ist es nötig noch referenzen auf das Frame zu haben.

Naja, wenn man die Standardeinstellung nicht geändert hat, wird setVisible(false) bereits ausgeführt, wenn man unter Windows aufs X drückt. Einzige Ausnahme ist, wenn man DoNothingOnClose übergeben hat. Allerdings dann macht es auch kein Sinn, denn aus irgend einem Grund hat man ja DoNothingOnClose übergeben ;-).

dotlens hat gesagt.:
wenn du auf schliessen bei einem anderen Frame klickst würde es mehr sinn machen?? *g*

Währe ja mal ein cooler Programmierstil ;-).
 

dotlens

Top Contributor
Stefan1200 hat gesagt.:
Naja, wenn man die Standardeinstellung nicht geändert hat, wird setVisible(false) bereits ausgeführt, wenn man unter Windows aufs X drückt. Einzige Ausnahme ist, wenn man DoNothingOnClose übergeben hat. Allerdings dann macht es auch kein Sinn, denn aus irgend einem Grund hat man ja DoNothingOnClose übergeben ;-).
bei JFrame, nich baer bei Frame. und bisher hat er noch nicht gesagt was er verwendet...

Stefan1200 hat gesagt.:
Währe ja mal ein cooler Programmierstil ;-).
Die User so gut wie möglich verwirren :D
 

McSnoop

Bekanntes Mitglied
Ja das 2te Frame ist von JFrame abgeleitet.

den gesamten quelltext einfügen geht nicht, weil ich zwischen meinem laptop und dem netzhier keine verbindung schaffen darf und das was bis ejtzt zu sehen war, war alles nochma abgetippt. =(

Quelltext wären knapp 600 zeilen das is auch zu viel zum abtippen.

Ich habe 2 files:

1.files ist halt das erste frame und das geht ja und das 2te file

heißt : SimuFrame.java

Code:
public class SimuFrame extends JFrame implements ListSelectionListener{

.....

  public SimuFrame(){
  super(titel);

  bla bla, menu und die ganzen komponenten

  ....

   this.addWindowListener(new WindowAdapter(){ 
    public void windowClosing(WindowEvent e){ 
        f.setVisible(false);
    } 
  });

  }



  public static void main(String[] args){

   f = new SimuFrame();
   f.pack();
   f.setVisible(true);
   f.setResizeable(false);
   f.Location(150,150);
  }
}


das ist das was wichtig ist, der rest sind halt nur komponenten und die entsprechnenden Listener die dazugehören.
 

dotlens

Top Contributor
aaahhhh, jetzt ist alles klar :D

die main methode von deiner 2ten klasse wird niemals ausgeführt. also ist sie unnötig. also ist dein 2tes Frame auch nicht f.
es ist in der 2ten klasse nur mit this anprechbar. diese zeile dürfte dir helfen:
Code:
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
den windowListener benötigst du dann gar nicht.

du solltest eigentlich nicht swing und awt mischen... das kommt nicht gut raus ;)
 

McSnoop

Bekanntes Mitglied
GEHT. =)

noch eine frage hinterher.

Warum wird nur die titelleiste gezeigt mit name. Wenn ich eine größe festlege mir setsize wird diese zeile ignoriert .
 

Stefan1200

Top Contributor
McSnoop hat gesagt.:
GEHT. =)

noch eine frage hinterher.

Warum wird nur die titelleiste gezeigt mit name. Wenn ich eine größe festlege mir setsize wird diese zeile ignoriert .

Vielleicht hast du noch keine Componenten geadded, und durch f.pack(); wird alles auf die kleinste Größe gestaucht.
 

McSnoop

Bekanntes Mitglied
komponenten sind geadded, hab einfach das erste frame dubliziert zum test und dieses f.pack(); ist wech, weil ich die Main Methode aus dem SimuFrame rausgenommen habe, weil ihr ja sagt das man das nicht braucht.

Hat evtl das f.pack(); aus dem ersten Frame einflüss auf das 2te Frame??
 

McSnoop

Bekanntes Mitglied
wenn ich das 2te fenster dann grossziehe dann sind ja alle komponenten da aber die anordnung ist nicht so wie auf dem ersten frame. =(
 

McSnoop

Bekanntes Mitglied
ich habe das f.pack ; aus dem ersten frame mal auskommentiert und sihee das das erste frame sieht dann genauso aus wie das 2te, nämlich nur die titelleiste.

Wo kann ich aber das f.pack(); im 2ten frame unterbringen?
 

McSnoop

Bekanntes Mitglied
*gg*

frage kann ignoriert werden. das geht ja über das this.pack(); *g*

trotzdem thx für die hilfe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S Position eines Frames Java Basics - Anfänger-Themen 3
S Frames Verbinden Java Basics - Anfänger-Themen 19
S Auf eine variable/objekt eines frames zugrifen Java Basics - Anfänger-Themen 22
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
G Aufrufen eines Frames aus einer anderen Klasse Java Basics - Anfänger-Themen 6
A Intelligente Anordnung von Frames in einer Fläche Java Basics - Anfänger-Themen 4
D Compiler-Fehler Frames verbinden Java Basics - Anfänger-Themen 6
S Mehrere Frames Java Basics - Anfänger-Themen 4
D JMenuBar und Hintergrund eines Frames Java Basics - Anfänger-Themen 2
M Zwei Frames ein ActionListener Java Basics - Anfänger-Themen 21
K Schließen eines Frames Java Basics - Anfänger-Themen 4
G Java-Frames funktionieren nach Neuinstallation nicht mehr. Java Basics - Anfänger-Themen 3
S Frames schließen Java Basics - Anfänger-Themen 14
D Sound in Frames möglich? EDIT Class Clip Java Basics - Anfänger-Themen 5
V Wie auf Elemente des Frames zugreifen Java Basics - Anfänger-Themen 4
A frames layout Java Basics - Anfänger-Themen 4
Z frames Java Basics - Anfänger-Themen 3
G Frames unabhänig schliessen. Java Basics - Anfänger-Themen 2
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
G Liste in mehreren unabhängigen Frames aktualisieren. Java Basics - Anfänger-Themen 6
V Aufruf eines Frames Java Basics - Anfänger-Themen 6
H 3 buttons in 3-spalten eines frames Java Basics - Anfänger-Themen 3
E Farbänderung des Frames bei Klick . Java Basics - Anfänger-Themen 7
B Analoguhr und openTime eines Frames Java Basics - Anfänger-Themen 6
G Applets in Frames & Bilder Java Basics - Anfänger-Themen 10
P Beide frames werden geschlossen Java Basics - Anfänger-Themen 2
M Infernal Frames Java Basics - Anfänger-Themen 4
G mehrere Frames nacheinander aktualisieren Java Basics - Anfänger-Themen 2
G Methode zum schliessen eines frames - nicht durch windows X Java Basics - Anfänger-Themen 14
D Menü soll immer da bleiben - Frames sollen wechseln Java Basics - Anfänger-Themen 3
Chucky 2 Frames Farbwahl durch Buttons Java Basics - Anfänger-Themen 10
P Frage zu Frames: Fenster sichtbar, unsichtbar machen Java Basics - Anfänger-Themen 1
G Frames Java Basics - Anfänger-Themen 4
M 2 Frames Java Basics - Anfänger-Themen 16
M Daten zwischen Frames austauschen Java Basics - Anfänger-Themen 2
G Frames mit einander verbinden Java Basics - Anfänger-Themen 10
D Frage zu Frames! Java Basics - Anfänger-Themen 9
S Zwei Frames miteinander verbinden Java Basics - Anfänger-Themen 5
Q Kommunikation zwischen Frames Java Basics - Anfänger-Themen 3
M Elemente im DefaultListModel separat auslesen Java Basics - Anfänger-Themen 2
R Neun Lautsprecher separat ansteuern Java Basics - Anfänger-Themen 3
R Elemente eine Liste im Ring schliessen Java Basics - Anfänger-Themen 9
I Fenster A soll Fenster B schliessen Java Basics - Anfänger-Themen 5
O Finally beim Fenster schliessen Java Basics - Anfänger-Themen 3
G Thread mehrmals starten und schliessen Java Basics - Anfänger-Themen 6
S Input/Output nullpointerException beim schliessen von stream Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
L ein Fenser mit einem Button schliessen Java Basics - Anfänger-Themen 5
A Warum schliessen sich beide Fenster? Java Basics - Anfänger-Themen 5
S JMenu schliessen Java Basics - Anfänger-Themen 2
B FileInputStream schliessen: unreported Exception...must be caught Java Basics - Anfänger-Themen 6
Z Applikationsfenster schliessen Java Basics - Anfänger-Themen 17
kulturfenster Per Button Frame schliessen Java Basics - Anfänger-Themen 2
C Per JButton ein JFrame schliessen Java Basics - Anfänger-Themen 10
G Beide Fenster schliessen sich Java Basics - Anfänger-Themen 19
P Fenster schliessen auf Menue heraus Java Basics - Anfänger-Themen 2
N [AWT] Fenster schliessen Java Basics - Anfänger-Themen 4
G JDialog übers X schliessen und Programm beenden Java Basics - Anfänger-Themen 4
T Fenster schliessen? Java Basics - Anfänger-Themen 2
G PinLabel Fenster wieder schliessen Java Basics - Anfänger-Themen 2
G automatisch speichern beim schliessen eines Spiels Java Basics - Anfänger-Themen 13
G mehrere JFrames - Problem beim Schliessen Java Basics - Anfänger-Themen 3
F JDialog per Button-Klick schliessen Java Basics - Anfänger-Themen 2
V Ein Fenster durch Menu-Dialog schliessen Java Basics - Anfänger-Themen 2
G frame schliessen Java Basics - Anfänger-Themen 11
P Fenster schliessen aus JTabbedPane/JPanel Java Basics - Anfänger-Themen 3
B Eingabefenster schliessen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben