【发布时间】:2017-07-30 19:59:36
【问题描述】:
大家好,我需要一些帮助 我正在尝试制作网站检查器并将结果放入 Jframe 中,但它似乎比我想象的要难 因为当我在 Jframe 中使用 Thread 进行循环时.. Jframe 冻结并且没有任何工作.. 有一个简单的为什么要这样做吗? 对不起我的英语不好..我是你来自叙利亚的朋友:) 这是我的代码
private void formWindowActivated(java.awt.event.WindowEvent evt) {
while(true)
{
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
try{
InetAddress[] addresses = InetAddress.getAllByName("www.google.com");
for (InetAddress address : addresses) {
if (address.isReachable(10000))
{
t1.setText("okay");
System.out.println("Connected "+ address);
}
else
{
System.out.println("Failed "+address);
}
}
}catch ( Exception e )
{}
}
【问题讨论】:
-
你应该看看Swing Timers。
-
当我在 Jframe 中使用 Thread 循环时:您没有在发布的代码中启动任何线程。阅读 SwingWorker 的文档
-
您应该在单独的
Thread / Runnable中创建 JFrame 和轮询循环 - 请参阅此处 stackoverflow.com/questions/17107728/…
标签: java multithreading swing loops jframe