【问题标题】:How to make a modal JDialog execute code immediately upon being shown如何使模态 JDialog 在显示后立即执行代码
【发布时间】:2010-12-27 23:26:39
【问题描述】:

好的,我有一个对象列表。我需要显示一个模态 JDialog,然后将这个对象列表传递给它并让它对它们起作用。问题是当我调用 .show() 时,它会劫持 EDT。理想的情况是能够将列表传递给构造函数,然后在显示对话框时执行相关函数。在 C# 中,我会为此使用 Loaded 事件,但如何做到这一点 JDialog 让我无法理解。

想法?

【问题讨论】:

    标签: java swing jdialog


    【解决方案1】:
    JDialog dialog = new JDialog(...);
    ...
    dialog.addComponentListener(new ComponentAdapter()
    {
        public void componentShown(ComponentEvent e)
        {
            System.out.println("Time to do something");
        }
    });
    dialog.setVisible( true );
    

    【讨论】:

      【解决方案2】:
      JDialog dialog = new JDialog(...);
      dialog.addWindowListener(new WindowAdaper() {
          @Override
          public void windowOpened(WindowEvent e) {
              super.windowOpened(e);
              // do something
          }
      });
      

      你明白了。

      【讨论】:

        猜你喜欢
        • 2023-01-14
        • 1970-01-01
        • 2010-09-21
        • 2012-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 1970-01-01
        相关资源
        最近更新 更多