不用
javax.swing.JOptionPane.showMessageDialog(null,"dialog");

解决方案 »

  1.   

    你只要传给这个panel对象一个该frame的指针,完全可以自由调用啊,不过这不是一个好的设计
      

  2.   

    传给Dialog一个空指针即可,JOptionPane.showMessageDialog(null,"dialogName");
    第一个参数可以是JFrame也可以是JApplet,如果你在JPanel中调用就可以用上面的方法!另外一个方法是你的JPanel构造时加入一个参数,例如:class MyPanel extend JPanel(JFrame parent){}然后在其中调用JOptionPane.showMessageDialog(parent,"dialogName")方法即可!
      

  3.   

    你也可以自己做一个Dailog啊 
    也可以
    javax.swing.JOptionPane.showMessageDialog(null,"dialog");
      

  4.   

    问题提得不清楚。
    1)若条件满足时弹出的对话框的组件要自定义的话,先定义一个panel加载所需的组件,然后 
    final JOptionPane paneAction= new JOptionPane(panel,
                                JOptionPane.PLAIN_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
            JDialog dialog = paneAction.createDialog(null,"title");
          //显示对话框
          dialog.show();
    2)若要自定义按钮动作,则要扩展一个JDialog,增加按钮的响应动作。然后
      ××Dialog.show();
    3)如果只是简单的MessageBox,则用以上诸位的方法:JOptionPane.showMessageDialog(parent,"dialogName")