Я пытаюсь установить сетевое соединение, а детали находятся в 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) и один раз я сделал с сетевым подключением, это ожидание сообщение правильно показывает.
Где я ошибаюсь? Является ли это проблемой качания (или) проблемой нити?
Не могли бы вы помочь мне показать сообщение ожидания до завершения деятельности на заднем конце?
Забавный, что вы называете 'waitDialog.setSize (100, 40); waitDialog.setBounds (500 300, 300, 80); 'setBounds' является ярлыком для вызова setLocation() и setSize() сразу. –