0
我有一個線程每次啓動時更新我的swing界面。儘管我使用invokeLater()
方法SwingUtilities
類我仍然有這種延遲。顯示延遲更新線程和擺動
這是我的線程代碼運行:
public void run() {
final int timeout=2000;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
if (InetAddress.getByName(host).isReachable(timeout)){
ServerFrame.listModel.addElement(InetAddress.getByName(host).getHostName() + '\n');
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
螞蟻,這是我怎麼稱呼它
for (int i =63;i<66 ;i++) {
ping p = new ping("192.168.1."+i);
p.start();
}
請仔細閱讀[併發中的Swing](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/),尤其要看看['SwingWorker']](http:// docs .oracle.com/javase/tutorial/uiswing/concurrency/worker.html),它只是爲此目的而設計的... – MadProgrammer