Java Standard: Grafische Oberflächen mit Swing: Top Level Container: javax swing JDialog
JDialog ist ein Dialog, der meistens von einem JFrame abhängt:
import javax.swing.*;
public class Dialog {
public static void main(String[] args) {
JFrame fenster = new JFrame("JFrame");
fenster.setLocationRelativeTo(null);
fenster.setSize(400, 400);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.add(new JLabel("Ihr JDialog"));
JDialog dialog = new JDialog(fenster, "Titel", false);
dialog.add(panel);
dialog.setSize(300, 300);
fenster.setVisible(true);
dialog.setVisible(true);
}
}
Wenn Sie möchten, dass bis der JDialog geschlossen wird, der Benutzer keine Aktionen auf dem zugehörigen JFrame durchführen kann, geben Sie im Konstruktor hinten true an:
JDialog dialog = new JDialog(fenster, "Titel", true);
Sollte diese Einstellung später geändert werden, brauchen Sie dafür die Methode setModal(boolean modal):
dialog.setModal(true); //Es können keine Aktionen auf dem JFrame durchgeführt werden
//oder
dialog.setModal(false); //Es können Aktionen auf dem JFrame durchgeführt werden