我有一个组合框。在组合框中选择一个项目后,新的JDialog将打开。
我试着去谷歌吧。但没有找到任何答案。有人有任何想法吗?
答案 0 :(得分:1)
我不知道java版本 - 但是在SwingUtilities中调用dialog.setVisible(true)#initokeLater已经为我解决了这个问题。 YMMV。
答案 1 :(得分:0)
@All:Aplogize延迟回复。我正在尝试不同的场景。我发现问题在于线程问题。似乎组合框尚未完成其工作,并且jdialog已打开。在该组合框尝试完成其工作之后,焦点将丢失到父窗口。我尝试在线程中打开对话框:
new Thread() {
public void run() {
// open dialog here
}
}.start();
它工作正常。现在我打算使用SwingWorker打开对话框:
SwingWorker worker = new SwingWorker() {
@Override
protected Object doInBackground() throws Exception {
// TODO Auto-generated method stub
// open dialog here
return null;
}
};
这也有效。希望这是正确的方法。如果我做对了,请告诉我。