2009-07-27 7 views
1

Ich habe eine JFrame mit 2 JTextField s drin. jetzt möchte ich diesen Rahmen zu einem modalen Fenster machen, wie kann ich das bitte sagen?machen Rahmen modal

Antwort

2

Sie sollten einen JDialog anstelle eines JFrame verwenden.

+0

Dank für die Antwort, aber ich wollte, dass ich kann nicht diesen Frame machen fragen in einem modalen Modus zu öffnen? –

3

Simple Modal Dialog

Vom javadoc der Klasse Dialog

Ein Dialog kann entweder modeless sein (die Standard) oder modal. Ein modaler Dialog blockiert alle anderen Toplevel-Fenster in der Anwendung mit Ausnahme von Fenstern, die mit als Eigner erstellt wurden.

public class AboutDialog extends JDialog implements ActionListener { 
    public AboutDialog(JFrame parent, String title, String message) { 
    super(parent, title, true); 
    if (parent != null) { 
     Dimension parentSize = parent.getSize(); 
     Point p = parent.getLocation(); 
     setLocation(p.x + parentSize.width/4, p.y + parentSize.height/4); 
    } 
    JPanel messagePane = new JPanel(); 
    messagePane.add(new JLabel(message)); 
    getContentPane().add(messagePane); 
    JPanel buttonPane = new JPanel(); 
    JButton button = new JButton("OK"); 
    buttonPane.add(button); 
    button.addActionListener(this); 
    getContentPane().add(buttonPane, BorderLayout.SOUTH); 
    setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
    pack(); 
    setVisible(true); 
    } 
    public void actionPerformed(ActionEvent e) { 
    setVisible(false); 
    dispose(); 
    } 
    public static void main(String[] a) { 
    AboutDialog dlg = new AboutDialog(new JFrame(), "title", "message"); 
    } 
}