我有一個應用程序,如果我點擊button1
它會顯示一個模態對話框dialog1
(但我沒有dialog1
的實例。),它會啓動一個線程,在線程中的哪裏做了一些處理,並且在線程處理的中間,而在dialog1
線程想要顯示一個警報,也許服務器沒有連接。但重點不在dialog1
之上。它作爲兄弟加載到dialog1
。有沒有什麼方法可以讓孩子看到提示dialog1
獲取模態對話框實例揮杆
下面是示例。
public class Main1 extends javax.swing.JFrame {
Thread show = null;
private javax.swing.JButton jButton1;
public Main1() {
setBounds(0, 0, 500, 500);
jButton1 = new javax.swing.JButton("Button1");
jButton1.setBounds(10, 10, 100, 30);
jButton1.setVisible(true);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
show.start();
//For Example I'm having this. I have a function call which will create and show a dialog similar to this.
java.awt.Frame frame = new java.awt.Frame();
JDialog dialog1 = new JDialog(frame, true);
dialog1.setBounds(20, 20, 300, 300);
dialog1.show();
}
});
getContentPane().add(jButton1);
getContentPane().setLayout(null);
show = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
shoe();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
});
setDefaultCloseOperation(2);
}
private void shoe() {
JOptionPane.showMessageDialog(this, "HEELO");
}
public static void main(String... f) {
new Main1().setVisible(true);
}
}
是否有無論如何獲取Main1的子模態實例?所以我可以提供該實例JOptionPane.showMessageDialog(this, "HEELO");
而不是this
或任何其他方式來實現這一目標?
如果我的理解錯誤,請糾正我。如果這是重複的,請原諒我。
閱讀甲骨文步道 - 事件調度線程和初始線程 – mKorbel