我想在jpaenl中使用模式的Jdialog,但是JPANEL不是jframe的内部类,如何使用。看到JDialog的构造方法中有(Dialog owner,String s,boolean b)和(frame a,String s,boolean b)两个构造方法有何不同!?请各位指教!

解决方案 »

  1.   

    frame的确没有modal,本人找过了.
    建议楼主把基类改为JDialog另外,那两个构造函数的不同在于owner的不同,第一个owner是dialog,第二个是frame
      

  2.   

    JDialog dialog = null;
    Frame frame = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, panel);
    if (frame != null) {
    dialog = new JDialog(frame, "title", true);
    }
    else {
    Dialog d = (Dialog)SwingUtilities.getAncestorOfClass(Dialog.class, panel);
    dialog = new JDialog(d, "title", true);
    }
    ...
      

  3.   

    多谢!
    gtlang兄的方法虽然没有解决我说的问题可是让我长了知识!