我用java swing編寫了一個簡單的程序,它假設啓動另一個線程,並且在該線程中,單擊按鈕時將顯示一個JForm。但JForm沒有顯示出來......我使用if (Thread.currentThread().getName() == "Thread1")
來完成該線程的具體任務,當我評論該程序完美運行時,我不明白爲什麼它不會去if塊...請別人幫我與此...java線程問題
在此先感謝!
下面是代碼,
public class Test extends JFrame implements ActionListener {
JPanel panel;
JButton button;
public Test() {
setVisible(true);
setSize(300, 300);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
panel = new JPanel();
button = new JButton("click me");
button.addActionListener(this);
panel.add(button);
add(panel, BorderLayout.CENTER);
}
public static void main(String[] args) {
Test tst=new Test();
}
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==button){
System.out.println("test");
test2 test = new test2();
Thread tr1 = new Thread(test);
tr1.setName("Thread1");
tr1.start();
}
}
}
class test2 implements Runnable{
public void run() {
//if (Thread.currentThread().getName() == "Thread1") {
System.out.println("inside thread");
JFrame frame2=new JFrame();
frame2.setVisible(true);
frame2.setSize(300, 300);
frame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//}
}
}
非常感謝您的快速回答......它完美地工作......再次感謝您的幫助:-) – 2011-03-11 09:48:11