Ich möchte das untergeordnete Dialogfeld aus dem übergeordneten Dialogfeld entfernen Ohne auf den untergeordneten Dialog klicken. Und ohne den Elterndialog-Erstellungsquellcode zu bearbeiten. Der übergeordnete Dialog wird wiederverwendet und nur einmal erstellt.So entfernen Sie untergeordnete jdialog-Referenz aus dem übergeordneten Dialogfeld Java Swing
0
A
Antwort
0
Ich hoffe, dies ist Ihre Antwort:
package stack;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DialogShower implements WindowListener {
JFrame frame;
JButton showButton;
ParentDialog parentDialog;
boolean fristTimeOpen = true;
public DialogShower() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
parentDialog = new ParentDialog();
parentDialog.addWindowListener(this);
showButton = new JButton("Show me");
showButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (fristTimeOpen) {
parentDialog.childDialog.setVisible(true);
}
parentDialog.setVisible(true);
}
});
frame.getContentPane().add(showButton);
frame.setSize(100, 100);
frame.setVisible(true);
}
public class ParentDialog extends JDialog {
ChildDialog childDialog;
public ParentDialog() {
super(frame, "ParentDialog", true);
childDialog = new ChildDialog();
}
public class ChildDialog extends JDialog {
JLabel label;
public ChildDialog() {
super(ParentDialog.this, "childDailg", false);
label = new JLabel("Notification : Dialog");
getContentPane().add(label);
setLocation(300, 300);
}
}
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowClosed(WindowEvent e) {
System.out.println("2");
}
@Override
public void windowClosing(WindowEvent e) {
fristTimeOpen = false;
parentDialog.childDialog.dispose();
}
@Override
public void windowDeactivated(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowOpened(WindowEvent e) {
}
public static void main(String[] args) {
new DialogShower();
}
}
Ich habe zwei Dialog, wenn Sie auf die Schaltfläche klicken Show me
offen Eltern Dialog sowie Kinder Dialog. Wenn Sie das übergeordnete Dialogfeld schließen, wird das untergeordnete Dialogfeld automatisch geschlossen. Ich verwende WindowListener
, um eine Aktion für das übergeordnete Dialogfeld close auszuführen. Wenn Sie das übergeordnete Dialogfeld erneut öffnen, wird das untergeordnete Dialogfeld nicht geöffnet.
+0
Vielen Dank für Ihre Hilfe. aber in meinem Fall kann ich den Elterndialog nicht bearbeiten. –
Verwandte Themen
- 1. Erstellen Sie untergeordnete Objekte aus dem übergeordneten Element?
- 2. So fügen Sie dem übergeordneten Titel im SQL Server-Strukturformat untergeordnete Elemente untergeordnete Beschreibungen hinzu Tabelle
- 3. So entfernen Sie untergeordnete (Movieclip) und neue überlagern (Movieclip)
- 4. Untergeordnete Ereignisse dem übergeordneten Objekt aussetzen
- 5. So entfernen Sie den Link von allen übergeordneten Elementen und klonen sie als untergeordnete Elemente
- 6. So entfernen Sie untergeordnete Elemente von QTreeWidgetItem
- 7. Java Swing - Skalierung eines Fensters nach dem Entfernen von Containern
- 8. Entfernen Sie ToolStripMenuItem aus übergeordneten Formularen MenuStrip
- 9. Aktualisieren Sie untergeordnete Komponenten basierend auf dem übergeordneten Status
- 10. So entfernen Sie project.json aus dem Projekt
- 11. So entfernen Sie Elemente aus dem Kombinationsspeicher
- 12. HTML-untergeordnete Elemente aus übergeordneten Elementen entfernen und das übergeordnete Element entfernen
- 13. So stoppen Sie einen Java Swing Timer
- 14. Swing: Dialogfeld speichern Größe ändern
- 15. Rufen Sie untergeordnete Komponente Methode aus der übergeordneten Klasse - Angular
- 16. So entfernen Sie zusätzlichen Speicherplatz von Alert-Dialogfeld in Android
- 17. Java Swing - Ändern von GridBagConstraints
- 18. MFC: Emdedded untergeordneten Dialogfeld wird nicht im übergeordneten Dialogfeld angezeigt
- 19. So entfernen Sie Elemente aus Java Map aus Nashorn JavaScript
- 20. WPF: Entfernen von "sich" aus dem übergeordneten Container
- 21. Android entfernen Sie eine Ansicht aus einem Dialogfeld?
- 22. Wie Titelabschnitt aus Dialogfeld in Android entfernen?
- 23. Java Swing "Kinder" Windows
- 24. Android: So erstellen Sie eine untergeordnete App (.apk-Datei) aus einer übergeordneten App.
- 25. Entfernen Sie untergeordnete Tags/Elemente
- 26. Zugriff auf untergeordnete Konstante in der übergeordneten Klasse in Java
- 27. Wie schließe ich eine Java Swing-Anwendung aus dem Code
- 28. So entfernen Sie den Eingabepunkt vom übergeordneten Bild in Dockerfile
- 29. Java: Zugriff auf untergeordnete Klassenmethoden von übergeordneten Elementen
- 30. So entfernen Sie aus einer Linked-Liste in Java?
Sie möchten also den JDialog schließen? – clabe45
ja. der untergeordnete Dialog Der übergeordnete Dialog wird wiederverwendet und erstellt nur einmal. –
Was ist der Kontext? Kannst du mehr Code posten? – clabe45