JDialog hat seltsames Design

Status
Nicht offen für weitere Antworten.

roddy

Aktives Mitglied
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:

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?
 

tini

Bekanntes Mitglied
In Zeile 12 ist zum Beispiel ein Schreibfehler
unterDialog.setDefaultLookAndFeelDecoreated(true);
-> Das E muss raus.
 

roddy

Aktives Mitglied
OK, der ist aber im Programm nicht. Hab mal eben das wesentliche zusammengetippt weil da haufenweise Programmcode drumherum ist, der nichts mit dem JDialog zu tun hat und nur verwirren würde. Der obenstehende Code ist jedenfalls nicht copy+paste und Schreibfehler hätte ich denke ich beim compilieren bemerkt...
 

Mag1c

Top Contributor
Hi,

wozu hast du denn die "setDefaultLookAndFeelDecorated" drin ? Die sind nämlich für dein Problem verantwortlich.

Gruß
Mag1c
 

tini

Bekanntes Mitglied
Das Standard-LookAndFeel sollte doch eigentlich immer da sein. Das muss man doch nicht extra noch setzen oder seh ich da was falsch?
 

Düark

Aktives Mitglied
Also wenn Du mit dem Standart-Look-And-Feel das Java Look and Feel (JLF) meinst, daß müsste Standartmäßig drin sein, du kannst Di dann alerdings das setDefaultLookAndFeelDecorated sparen.
Ansosnten würde ich am Anfang deines Programms einfach den LookAnd Feel einstellen, z.B. so:
Code:
try 
{
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception exc) {
System.err.println("Error loading L&F: "+exc);
}
 

roddy

Aktives Mitglied
Jepp, das Standart L&F ist als Standart drin, ich weiss selbst nich mehr genau, warum ich erstmalig dieses setDefaultLookAndFeelDecorated verwendet habe. Mag1c hatte jedenfalls Recht, das hat den Fehler produziert. Danke für eure Antworten!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Seltsames Verhalten Tooltip und JDialog AWT, Swing, JavaFX & SWT 8
E JDialog mit count down timer AWT, Swing, JavaFX & SWT 1
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
A ViewController (IFrame) > Jdialog > Model AWT, Swing, JavaFX & SWT 1
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
L Swing JDialog ton beim klicken ausstellen AWT, Swing, JavaFX & SWT 1
L JDialog hat manchmal keinen Inhalt AWT, Swing, JavaFX & SWT 2
Drachenbauer Hauptfenster erhält schmale Streifen rechts unt unten, wenn ich einen JDialog hinzufüge. AWT, Swing, JavaFX & SWT 19
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
B Eingaben im JDialog abwarten AWT, Swing, JavaFX & SWT 4
S Swing JDialog mit KeyEvent als Rückgabe AWT, Swing, JavaFX & SWT 1
O Swing JDialog öffnen und dann warten bis er geschlossen wurde AWT, Swing, JavaFX & SWT 2
stylegangsta JDialog bestimmte Zeilen kursiv AWT, Swing, JavaFX & SWT 20
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
L KeyListener für JDialog AWT, Swing, JavaFX & SWT 7
T Event Handling JDialog schließen, sobald ein neuer erzeugt wird AWT, Swing, JavaFX & SWT 3
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
D Button auf geöffnetem JDialog AWT, Swing, JavaFX & SWT 5
N Definitionen JDialog AWT, Swing, JavaFX & SWT 7
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
Joew0815 JDialog repaint() funktioniert nicht wie gewünscht. AWT, Swing, JavaFX & SWT 2
D Swing Schließen von JDialog soll auch JFrame schließen. AWT, Swing, JavaFX & SWT 4
N Swing Fragen zu non-modal JDialog AWT, Swing, JavaFX & SWT 1
F Swing JDialog schließen - WindowListener bekommt dispose nicht mit AWT, Swing, JavaFX & SWT 0
N JDialog als Progress-Anzeige AWT, Swing, JavaFX & SWT 6
M JDialog statt JFrame AWT, Swing, JavaFX & SWT 22
I focus an ein jdialog geben AWT, Swing, JavaFX & SWT 3
3 JDialog über einem Vollbildfenster anzeigen AWT, Swing, JavaFX & SWT 5
M JDialog soll JFrame "blockieren" AWT, Swing, JavaFX & SWT 2
K JDialog zeigt Components nicht an AWT, Swing, JavaFX & SWT 3
S Jframe aus JDialog starten AWT, Swing, JavaFX & SWT 4
M JDialog übergibt eingaben nicht an aufrufende klasse AWT, Swing, JavaFX & SWT 15
S Assistent im JDialog AWT, Swing, JavaFX & SWT 7
H Swing JDialog cannot be resolved as a typ AWT, Swing, JavaFX & SWT 12
C Swing JDialog "flutet" den Arbeitsspeicher AWT, Swing, JavaFX & SWT 9
S Swing Eigenen JDialog mit Rückgabewert AWT, Swing, JavaFX & SWT 3
C Swing JDialog Ladebildschirm wird nicht angezeit AWT, Swing, JavaFX & SWT 5
Jagson Mit JMenu auf jDialog zurück? Wie? AWT, Swing, JavaFX & SWT 8
A JDialog (modal) blockiert alle Fenster! AWT, Swing, JavaFX & SWT 2
Jagson Swing Von JDialog zu anderem JDialog wechseln AWT, Swing, JavaFX & SWT 2
S JDialog direkt über dem MainFrame aufpoppen lassen AWT, Swing, JavaFX & SWT 2
A Swing JDialog KeyBindings und Textfelder AWT, Swing, JavaFX & SWT 5
D Daten von JDialog an JTable in JFrame übergeben AWT, Swing, JavaFX & SWT 7
D JDialog: immer nur einer gleichzeitig AWT, Swing, JavaFX & SWT 4
S JDialog per Button schließen AWT, Swing, JavaFX & SWT 2
B Swing JDialog modal, aber trotzdem Frame auswählbar AWT, Swing, JavaFX & SWT 2
D JDialog alwaysOnTop, aber nur innerhalb der Applikation AWT, Swing, JavaFX & SWT 3
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
N Swing Klasse erbt von JDialog - Problem mit innerer ActionListener-Klasse AWT, Swing, JavaFX & SWT 6
J Swing JDialog gleichzeitig mit JFrame anzeigen AWT, Swing, JavaFX & SWT 8
S Probleme jDialog einfügen AWT, Swing, JavaFX & SWT 4
qwerqer Swing JDialog Darstellungsprobleme - Dialog lässt sich nicht schließen AWT, Swing, JavaFX & SWT 3
S Schrift ändern in JDialog AWT, Swing, JavaFX & SWT 3
S Problem mit JDialog AWT, Swing, JavaFX & SWT 3
D Elternfenster vom JDialog aktualisieren oder nicht ? AWT, Swing, JavaFX & SWT 7
hdi Swing Genaue Funktionsweise von modalem JDialog? AWT, Swing, JavaFX & SWT 11
U JDialog ohne Taskleiste AWT, Swing, JavaFX & SWT 7
S Programm pausieren während JDialog offen ist AWT, Swing, JavaFX & SWT 2
X JEditorPane Größe in JDialog automatisch anpassen AWT, Swing, JavaFX & SWT 2
Ollek JDialog Koponenten neu anordnen AWT, Swing, JavaFX & SWT 3
A JDialog AWT, Swing, JavaFX & SWT 10
Dit_ SwingUtilities.invokeLater und Modaler JDialog AWT, Swing, JavaFX & SWT 11
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A JDialog ausdrucken AWT, Swing, JavaFX & SWT 7
aze JDialog mit runden ecken AWT, Swing, JavaFX & SWT 8
Dit_ JDialog nur horizontal vergrößern AWT, Swing, JavaFX & SWT 3
C Swing JProgressBar in JDialog wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
M Swing Vererbung, Probleme mit JDialog AWT, Swing, JavaFX & SWT 12
H JDialog, Modal - Klassenübergreifend => Problem AWT, Swing, JavaFX & SWT 5
S Swing Bild (Gif) in Bitte warten JDialog AWT, Swing, JavaFX & SWT 6
U JFrame minimiert nach JDialog, JOptionPane AWT, Swing, JavaFX & SWT 3
K Swing JDialog aus Frame ausrufen AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
B JDialog AWT, Swing, JavaFX & SWT 6
J Swing Probmel mit JDialog (Modal/FocusLost/Button) AWT, Swing, JavaFX & SWT 5
E Swing Fehlerhaftes Verhalten bei gleichzeitigen Verwendnen von PopUpMenu und JDialog?! AWT, Swing, JavaFX & SWT 5
J Swing JDialog mit static-Funktion anzeigen -> Rückgabewert AWT, Swing, JavaFX & SWT 3
E Daten von JDialog nach JFrame übertragen AWT, Swing, JavaFX & SWT 4
F ActionListener von JButton funktioniert mit JFrame aber nicht mit JDialog AWT, Swing, JavaFX & SWT 2
D Mehrere Comboboxen in JDialog AWT, Swing, JavaFX & SWT 2
F JDialog per Button schliessen - klappt nicht AWT, Swing, JavaFX & SWT 4
BattleMaster246 JDialog erscheint in der Taskbar AWT, Swing, JavaFX & SWT 7
H Sub-Dialog von modalem JDialog aus aufrufen - geht das? AWT, Swing, JavaFX & SWT 6
R Swing JDialog liefert immer false, 2 JListen verknüpfen AWT, Swing, JavaFX & SWT 3
P Swing eigenen Modalen JDialog AWT, Swing, JavaFX & SWT 6
J JDialog verliert Werte AWT, Swing, JavaFX & SWT 3
N Variablen an JDialog übergeben AWT, Swing, JavaFX & SWT 2
P Swing JDialog schliesst nicht AWT, Swing, JavaFX & SWT 2
X Swing JDialog von JInternalFrames überlappen lassen AWT, Swing, JavaFX & SWT 2
O JDialog-JScrollPane-JTable Problem AWT, Swing, JavaFX & SWT 3
N Swing Frage zu modalem JDialog. AWT, Swing, JavaFX & SWT 16
A JFrame oder JDialog AWT, Swing, JavaFX & SWT 12
B Swing JDialog : Herausfinden wie dieser beendet wurde? AWT, Swing, JavaFX & SWT 2
T JDialog ohne Fenstermanager? AWT, Swing, JavaFX & SWT 2
S JDialog in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 3
A Swing JFrame Werte aus JDialog übergeben AWT, Swing, JavaFX & SWT 4
K Swing JDialog ohne Titlebar mit Rahmen AWT, Swing, JavaFX & SWT 5
KrokoDiehl Swing KeyEvents für JDialog / JFrame AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben