Abend.
Ich hab folgendes Problem,
Ich öffne mit dem Bestätigen eine "Eigenschaften" Buttons ein JDialog, wo wiederum ein "OK"
Button drauf ist.
Mit dem betätigen des "OK" buttons sollte jetzt als letztes auch das JDialog wieder geschlossen werden.
Ist mir fast schon ein bisschen peinlich sowas einfaches zu fragen,
aber ich weiß grade einfach nicht weiter.
Ich kenne zwar System.exit(0); , allerdings fällt das weg, weil mein "Hauptfenster" ja offen bleiben soll.
Erst habe ich gedacht, das es mit dispose(); geht, so steht es jedenfalls überall,
allerdings schließt sich dann auch nur mein "Hauptfenster" und das JDialog bleibt offen.
Stehe grade einfach irgendwie auf dem Schlauch.
Mein ganzen Code konnte ich grade leider nicht posten. Zu lang.
Liegt vermutlich daran, weil ich so unglaublich unefektiv programmiere,
und die Sache dadurch einen rießen Bart bekommt.
Der restliche Code funktioniert soweit.
Hier der Actionlistener in dem das JDialog erstellt und aufgerufen wird.
Actionlistener wo das JDialog geschlossen werden soll.
Ich hab folgendes Problem,
Ich öffne mit dem Bestätigen eine "Eigenschaften" Buttons ein JDialog, wo wiederum ein "OK"
Button drauf ist.
Mit dem betätigen des "OK" buttons sollte jetzt als letztes auch das JDialog wieder geschlossen werden.
Ist mir fast schon ein bisschen peinlich sowas einfaches zu fragen,
aber ich weiß grade einfach nicht weiter.
Ich kenne zwar System.exit(0); , allerdings fällt das weg, weil mein "Hauptfenster" ja offen bleiben soll.
Erst habe ich gedacht, das es mit dispose(); geht, so steht es jedenfalls überall,
allerdings schließt sich dann auch nur mein "Hauptfenster" und das JDialog bleibt offen.
Stehe grade einfach irgendwie auf dem Schlauch.
Mein ganzen Code konnte ich grade leider nicht posten. Zu lang.
Liegt vermutlich daran, weil ich so unglaublich unefektiv programmiere,
und die Sache dadurch einen rießen Bart bekommt.
Der restliche Code funktioniert soweit.
Hier der Actionlistener in dem das JDialog erstellt und aufgerufen wird.
Java:
//ActionListener für die Einstellungen
private class settingAction extends AbstractAction{
public settingAction() {
this(null);
}
public settingAction(String text) {
this(text, null);
}
public settingAction(String text, Icon icon) {
super(text, icon);
}
public void actionPerformed(ActionEvent e) {
//Unterklasse für das einstellungenfenster
final class setting extends JDialog{
//Konstruktor
public setting(){
Container settingContainer = getContentPane();
JPanel settingPanelNORTH1 = new JPanel(new GridLayout(1,7));
JPanel settingPanelNORTH = new JPanel(new GridLayout(3,1));
JPanel settingPanelCENTER = new JPanel(new GridLayout(1,7));
JPanel settingPanelSOUTH = new JPanel(new GridLayout(2,3));
//Überschrifften
JLabel settingHeadline = new JLabel("Stellen Sie den Zeitpunkt ein, ab dem Objekte makiert werden sollen.");
settingPanelNORTH.add(settingHeadline);
JLabel buffer10 = new JLabel("");
settingPanelNORTH.add(buffer10);
settingPanelNORTH.add(settingPanelNORTH1);
JLabel settingHeadline1 = new JLabel("Tag");
settingPanelNORTH1.add(settingHeadline1);
JLabel settingHeadline2 = new JLabel("Monat");
settingPanelNORTH1.add(settingHeadline2);
JLabel settingHeadline3 = new JLabel("Jahr");
settingPanelNORTH1.add(settingHeadline3);
JLabel buffer = new JLabel(" um");
settingPanelNORTH1.add(buffer);
JLabel settingHeadline4 = new JLabel("Stunde");
settingPanelNORTH1.add(settingHeadline4);
JLabel settingHeadline5 = new JLabel("Minute");
settingPanelNORTH1.add(settingHeadline5);
JLabel settingHeadline6 = new JLabel("Sekunde");
settingPanelNORTH1.add(settingHeadline6);
;
//Liste 1 / Objekt und Inhalt global erstellt
settingPanelCENTER.add(settingBox1);
settingBox1.setToolTipText( "Wählen sie den Tag, nach dem aktualisiet wird" );
settingBox1.setEnabled( true );
//Liste 2 / Objekt global erstellt
settingPanelCENTER.add(settingBox2);
settingPanelCENTER.add(settingBox3);
JLabel buffer2 = new JLabel(" um");
settingPanelCENTER.add(buffer2);
settingPanelCENTER.add(settingBox4);
settingPanelCENTER.add(settingBox5);
settingPanelCENTER.add(settingBox6);
//Buttons
JLabel buffer3 = new JLabel("");
settingPanelSOUTH.add(buffer3);
JLabel buffer4 = new JLabel("");
settingPanelSOUTH.add(buffer4);
JLabel buffer5 = new JLabel("");
settingPanelSOUTH.add(buffer5);
//OK Button
JButton settingButtonOK = new JButton(new settingOKaction("OK"));
settingPanelSOUTH.add(settingButtonOK);
settingButtonOK.setToolTipText( "Bestätigen Sie ihre Eingabe mit OK" );
settingButtonOK.setEnabled( true );
JLabel buffer6 = new JLabel("");
settingPanelSOUTH.add(buffer6);
//Panels auf Container
settingContainer.add(settingPanelNORTH, BorderLayout.NORTH);
settingContainer.add(settingPanelCENTER, BorderLayout.CENTER);
settingContainer.add(settingPanelSOUTH, BorderLayout.SOUTH);
}
//Konstruktor Ende
}
JDialog settingWindow = new setting();
settingWindow.setTitle("Einstellungen");
settingWindow.pack();
settingWindow.setSize(415, 150);
settingWindow.setLocation(400, 300);
settingWindow.setModal(true);
settingWindow.setResizable(false);
settingWindow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
settingWindow.setVisible(true);
settingWindow.setLocation(400, 100);
}
}
Actionlistener wo das JDialog geschlossen werden soll.
Java:
private class settingOKaction extends AbstractAction{
public settingOKaction() {
this(null);
}
public settingOKaction(String text) {
this(text, null);
}
public settingOKaction(String text, Icon icon) {
super(text, icon);
}
public void actionPerformed(ActionEvent e) {
greenDate.set(year, month , day, hour, minute, second);
//System.exit(0);
//dispose();
}
}