我一直在根据Swing创建我的应用时遇到了一些问题。我有它由一个主要的JFrame:JButton需要在JDialog后点击两次
- JMenu的含有一个JButton和JLabel
的JButton与ActionListener的链接
每次JDialog出现时,都会出现问题。
PS。 JDialog被设置为模式,以JFrame作为父项。
我一直在根据Swing创建我的应用时遇到了一些问题。我有它由一个主要的JFrame:JButton需要在JDialog后点击两次
的JButton与ActionListener的链接
每次JDialog出现时,都会出现问题。
PS。 JDialog被设置为模式,以JFrame作为父项。
这听起来像一个焦点问题。
第一次单击将焦点恢复到应用程序,第二次单击按钮。通常情况下,当JDialog具有错误的父级并且无法返回焦点时,我已经看到了这一点。
谢谢你的回答。
我已经考虑发布一些代码,但它涉及4个类,所以会很长。
我以前也尝试过关注焦点,但没有任何帮助。有趣的是:如果我通过new myDialog.showVisible(true)
显示JDialog,它的行为就像我所描述的那样。但是,如果使用结构是这样的:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JDialog.setVisible(true);
}
});
它正常关闭和父帧不需要响应之前被点击,但另一方面显示的对话框需要如此。另外,我不明白,打开对话框后,文本字段中,我可以正常写入,但点击它的一些按钮,我必须点击一次对话框,只有第二次和下一次点击行为就像我想。
PS。在第二个包含的示例中关闭对话框不会改变任何内容。
我不确定我们如何根据所提供的信息为您提供帮助。您的代码中存在一个错误,在我们开始能够帮助您之前,需要通过调试将其隔离。 –
为了更快提供更好的帮助,请发布[SSCCE](http://sscce.org/)。 –