我想在窗体里单击一个Button 然后弹出一个模式对话框 也就是new 一个 JDialog,
我查API里面的构造器是JDialog(Frame owner, boolean modal)  其中owner是JDialog的所有者
我想把Frame设置成对话框的owner,那在按钮的actionPerformed()里面怎么传递参数呢
actionPerformed()里面调用this指的并不是窗体,而是button吧。

解决方案 »

  1.   

    指的是JFrame
    class JFrame {
      public void actionPerformed(...) {
        if (e.getSource().equals(btnOpen)) {
           JDialog dialog = new JDialog(this);
        }
      }
    }
      

  2.   

    this肯定是button啊,你在actionPerformed里面调个方法不就得了
    btn1.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
        showDialog();
    }
    });
    Jframe里面再加个方法,OK了private void showDialog()
      {
      JDialog dialog = new JDialog(this, true);
      }