JDialog.show()后,会阻塞进程,
所以开了一个进程来show()
但是,这样一来dialog上的信息和按钮不显示就不显示了,
这是怎么回事啊?
Somebody helps me!!

解决方案 »

  1.   

    show()是废弃的方法,应该使用setVisible(true)来显示组件。
    另外Swing是线程不安全的,Swing要求所有与组件有关的操作都必须在单一线程中完成,就是时间派发线程。你的绘制问题可能与此有关。
      

  2.   

    将对话框架的show放到事件派发线程中就应该可以的,原因如楼上所说,Swing中单线程的。试下下面的代码吧
    SwingUtilities.invokeLater(new Runnable()
    { @Override
    public void run() {
    JDialog.show()
    }

    });
      

  3.   

    决定不用线程了。
    但是现在有个问题:
    init()方法中,
        cancelButton.setVisble(false);
    在另一个按钮事件中,
        cancelButton.setVisble(true);
       cancelButton.repaint();
    但是还是看不到这个cancelButton,这个怎么解决啊?
      

  4.   

    不显示还是因为阻塞。
    所以开了线程,
    但这次不是show JDialog,
    而是负责上传。
    问题解决了。
    Thanks for your attention!!
    Btw,
    Coding like writing love letters...
    这境界够高的^^