ネットワーク接続を確立しようとしていますが、詳細は JFrame にあります。ユーザーがボタンをクリックすると、新しいスレッドが開始され、メイン スレッドがネットワーク接続を確立するまで待機メッセージが表示されます。私はこのコードを書きました
public void actionPerformed(ActionEvent arg0) {
Thread ref = new Thread(new Test());//Create a new thread
ref.start();
new AIDRTConnManager().createConnection(ipAddress, portAddress);//main thread
}
//This is my Thread Class
public class Test implements Runnable{
JDialog waitDialog;
JPanel panel1 = new JPanel();
JLabel waitLabel;
JFrame frame;
public void run(){
frame = new JFrame();
waitDialog = new JDialog( frame,AIRDT.toolName, true );
waitDialog.setDefaultCloseOperation( JDialog.DO_NOTHING_ON_CLOSE );
JLabel waitLabel = new JLabel( "Trying to Connect to PleaseWait...",ErrorDialog.icon,SwingConstants.CENTER );
panel1.add( waitLabel );
waitDialog.add( panel1 );
waitDialog.setSize( 100, 40 );
waitDialog.setBounds( 500,300, 300, 80 );
waitDialog.setVisible( true );
}
}
しかし、ボタンをクリックすると、Jdialog は待機メッセージ (JLable) なしで空のフレームを表示し、ネットワーク接続を完了すると、この待機メッセージが適切に表示されます。
どこが間違っているのですか?これは Swing の問題 (または) スレッドの問題ですか?
バックエンド アクティビティが完了するまで待機メッセージを表示する方法を教えてください。