Swing Mehrere Modal-Dialoge übereinander

sven-meye

Mitglied
Hallo zusammen,

wahrscheinlich ist es eine dumme Frage. Leider funktioniert nichts, dass ich im Internet finde. Ich habe ein Frame, das einen Dialog zum Erstellen eines Datensatzes aufruft. In diesem Dialog hat es wiederum einen Button der einen weiteren Dialog öffnet um einen Kunden auszuwählen. Beide sind modal. Nun habe ich das Problem, dass sich der erste Dialog über den zweiten Dialog legt, wenn ich den zweiten Dialog öffne. Danach kann ich den zweiten Dialog nicht mehr öffnen, weil der erste Dialog Modal ist. Hat da jemand einen Tipp? Mit den verschiedenen Modal_Types, toFront(), requestFocus(), usw. habe ich bereits ein bisschen experimentiert. Ich habe kein Parent oder so, das System habe ich nicht ganz verstanden. Liegt es eventuell daran?

Achja und gleich noch eine kleine Frage im Anschluss. Wenn ich nun das Programm nicht mehr fokusiere, bzw. minimiere, rückt das Modal in den Hintergrund. Weil es kleiner als das Frame ist, kann ich es dann nicht mehr anklicken. Was dazu führt, dass ich das Programm neustarten muss.

Freundliche Grüsse & vielen Dank im Voraus
sven_meye
 

incluedu

Mitglied
Hallo sven_meye
Denke es liegt wir du schon vermutest daran das du den Parent nicht verwendest.

Ich hab mal eine kleine Test Klasse geschrieben und kann das so nicht nachvollziehen wie du das sagst. Du kannst ja ein wenig damit rumprobieren aber ich denke das du so siehst wie du die Parents verwenden kannst bzw. must.

Java:
import javax.swing.*;
import java.awt.*;

public class MyTestFrame extends JFrame {

    public MyTestFrame() throws HeadlessException {

        setTitle("Dialog Test");
        setSize(600, 400);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        JButton testButton = new JButton("Open Dialog 1");
        testButton.addActionListener(e -> new MyTestDialog(this, 1).setVisible(true));
        add(testButton);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new MyTestFrame().setVisible(true));
    }

    private class MyTestDialog extends JDialog {
        public MyTestDialog(Frame owner, int instance) { super(owner); init(instance); }
        public MyTestDialog(Dialog owner, int instance) { super(owner); init(instance); }

        private void init(int instance) {
            System.out.println(getOwner());
            setTitle("Test Dialog " + instance);
            setSize(300, 200);
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            setLocationRelativeTo(getOwner());
            setModal(true);

            JButton testButton = new JButton("Open Dialog " + (instance + 1));
            testButton.addActionListener(e -> new MyTestDialog(this, instance + 1).setVisible(true));
            add(testButton);
        }
    }
}
 

Viktim

Bekanntes Mitglied
Mit JFrame.setLocation könntest du ja den Ort festlegen, wo die Dialoge angezeigt werden (damit sie nichtmehrhinter dem anderen verschwinden)
-> Oder sind die Beiden auf einem JFrame?

und hier meine Methode für den Fokus (Hab ich bis jetzt nur Für Textfelder und Buttons benutzt):
Java:
public static void setzeFocus(JComponent myComponent) {
    EventQueue.invokeLater(new Runnable() {

      @Override
      public void run() {
        myComponent.grabFocus();
        myComponent.requestFocus();
      }
    });
  }
 

sven-meye

Mitglied
@incluedu Hmmm... ich kriege dann immer die Meldung das es kein AWT.Dialog sei. Liegt es möglicherweise daran, dass es verschiedene Dialoge sind? Ich übergebe Dialog 2 den Dialog 1. Aber funktioniert noch nicht.

@Viktim Das hatte ich versucht :S funktioniert leider nicht.
 

sven-meye

Mitglied
@incluedu Ach sry :) da hat sich glatt noch ein kleiner dummer Fehler eingeschlichen! Es läuft, vielen Dank. Ich habe keine ahnung warum ich das im ersten Anlauf selbst nicht hinbekommen habe o_O sieht eigentlich relativ simpel aus.

Noch eine kleine Frage im Anschluss. Sollte man das mit dem Parent immer machen oder ist es kein Weltuntergang, wenn mans weg lässt? Habe ca. 40 Dateien die ich jetzt anpasssen müsste :eek:
 

incluedu

Mitglied
Noch eine kleine Frage im Anschluss. Sollte man das mit dem Parent immer machen oder ist es kein Weltuntergang, wenn mans weg lässt? Habe ca. 40 Dateien die ich jetzt anpasssen müsste :eek:

Naja wenn du es nicht machst dann hast halt das Problem das es dir passieren kann das der Dialog oder der Frame hinter dem anderen verschwindet. Das ist halt nicht sehr schön. Ob du es machst oder nicht ist wohl dir überlassen weil wenn es nicht möglich wäre würde es auch nicht funktionieren und das tut es ja. Aber sauberer, finde zumindest ich, ist es wenn du immer einen Parent setzt, und soviel arbeit ist das ja auch nicht selbst bei 40 Klassen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
M Mehrere JPanel nacheinander?! AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
GianaSisters Swing jTable - Feldtext soll mehrere Zeilen haben AWT, Swing, JavaFX & SWT 3
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
D Mehrere JTabel in einem Frame positionieren AWT, Swing, JavaFX & SWT 5
N mehrere JComboBoxes AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben