我正在尝试建立网络连接,详细信息在 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),一旦我完成网络连接,此等待消息就会正确显示。
我哪里错了?这是一个摆动问题(或)线程问题吗?
您能否帮我显示一条等待消息,直到后端活动完成?