制作框架模态

时间:2009-07-27 09:32:06

标签: java swing

我有一个JFrame,里面有2 JTextField个。现在我想让那个框架成为一个模态窗口,我该怎么做才能告诉你。

2 个答案:

答案 0 :(得分:3)

Simple Modal Dialog

来自Dialog类的javadoc

  

对话框可以是无模式的(   默认)或模态。模态对话框   是阻止所有其他输入的一个   在应用程序中顶出窗口,   除了用它创建的任何窗口   对话作为他们的主人。

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");
  }
}

答案 1 :(得分:2)

您应该使用JDialog而不是JFrame。