Hallo zusammen,
Ich starte einen Dialog "aus dem Nichts" (will sagen: Der nicht zu einem Frame 'gehört') und innerhalb des Dialogs starte ich in einem ActionListener einen weiteren Dialog. Kurzgefasst sieht das ganze also so aus:
Ich habe also 3 Knöpfe:
- der erste öffnet einen Unterdialog, in dem Werte verändert werden. Dieser Dialog hat oft schon das "falsche" aussehen, d.h. das Design von der TitleBar usw. ist nicht mehr das standart Look & Feel, wie ich es haben möchte
- der zweite Knopf schließt den Dialog, um ihn wieder neu aufzubauen. Spätestens beim Neuaufbau hat dann mein Hauptdialog auch das "falsch" Design.
- der dritte Knopf macht den Dialog zu. Im weiteren Programmablauf kommen dann noch weitere JDialogs bzw. JOptionPanes, sie alle haben ebenfalls nicht mehr das standart L&F Design wie ich es haben möchte.
Hat jemand eine Idee, was ich falsch mache?
Ich starte einen Dialog "aus dem Nichts" (will sagen: Der nicht zu einem Frame 'gehört') und innerhalb des Dialogs starte ich in einem ActionListener einen weiteren Dialog. Kurzgefasst sieht das ganze also so aus:
Code:
JFrame nullframe = new JFrame("blabla");
final JDialog dialog = new JDialog(nullframe,"TITEL",true);
dialog.setDefaultLookAndFeelDecorated(true);
final myBoolean rerun = new myBoolean(false); // Eine Klasse die nichts anderes macht als einen boolschen Wert zu
// speichern, mit set zu verändern und mit get auszugeben. Da ich eine final boolean nicht einfach mit 'rerun = true'
// hätte zuweisen können innerhalb des actionlisteners.
final JPanel panel = new JPanel();
ActionListener listener0 = new ActionListener(){ public void actionPerformed(ActionEvent e){
final JDialog unterDialog = new JDialog(dialog,"TITEL",true);
unterDialog.setDefaultLookAndFeelDecoreated(true);
JPanel unterPanel = new JPanel();
ActionListener unterListener0(){ public void actionPerformed(ActionEvent e){
rerun.setValue(true);
unterDialog.dispose();
dialog.dispose();
}
JButton unterButton0 = new JButton("Schließen");
unterButton0.addActionListener(unterListener0);
unterPanel.add(unterButton0);
unterDialog.getContentPane().add(unterPanel);
unterDialog.setVisible(true);
}
JButton button0 = new JButton("Unterdialog öffnen");
button0.addActionListener(listener0);
panel.add(button0);
ActionListener listener1 = new ActionListener(){ public void actionPerformed(ActionEvent e){
// veränder ein paar Werte
rerun.setValue(true);
dialog.dispose();
}
JButton button1 = new JButton("Was verändern");
button1.addActionListener(listener1);
panel.add(button1);
ActionListener listener2 = new ActionListener(){ public void actionPerformed(ActionEvent e){
rerun.setValue(false);
dialog.dispose();
}
JButton button2 = new JButton("fertig, weiter im Text");
button2.addActionListener(listener2);
panel.add(button2);
dialog.getContentPane().add(panel);
dialog.setVisible(true);
if (rerun.getValue()){
return dieseMethodeHier(mit den Übergabewerten die oben bei den Listenern verändert wurden);
}
else {
übergib die veränderten Werte der nächsten Methode
}
Ich habe also 3 Knöpfe:
- der erste öffnet einen Unterdialog, in dem Werte verändert werden. Dieser Dialog hat oft schon das "falsche" aussehen, d.h. das Design von der TitleBar usw. ist nicht mehr das standart Look & Feel, wie ich es haben möchte
- der zweite Knopf schließt den Dialog, um ihn wieder neu aufzubauen. Spätestens beim Neuaufbau hat dann mein Hauptdialog auch das "falsch" Design.
- der dritte Knopf macht den Dialog zu. Im weiteren Programmablauf kommen dann noch weitere JDialogs bzw. JOptionPanes, sie alle haben ebenfalls nicht mehr das standart L&F Design wie ich es haben möchte.
Hat jemand eine Idee, was ich falsch mache?