我正在尝试从外部窗口中设置的表单获取应用程序的数据(getDataWindow扩展了javax.swing.JFrame)。问题在于,在填写表单之前要先执行功能。

    getDataWindow dataW=new getDataWindow();
    dataW.setVisible(true);
    size=dataW.returnSize();


我也尝试向getDataWindow添加其他布尔变量

    getDataWindow dataW=new getDataWindow();
    dataW.setVisible(true);
    while(!dataW.checkIfReady()){wait();}
    size=dataW.returnSize();


但这也使窗口等待(它出现了,但是里面是黑色的,什么也没有发生)。
我想我应该为此创建一些线程-我试图在java.awt.EventQueue.invokeLater(new Runnable())中调用窗口制作函数getDataWindow,但是我不得不更早地初始化dataW,因此dataW.checkIfReady()可以叫,所以这是一个陷阱22

最佳答案

您是否尝试过在包含表单的字段中添加侦听器?我知道您对该类没有完全控制权,但是,这是一些Java代码!在调试器中运行它,您将看到该DataWindow的代码组织。然后,您将能够添加一个Key / Action / Anything / Listener来触发代码执行。

10-04 17:20