在Java中使用Swing GUI中的线程
发布时间:2020-12-15 02:02:01 所属栏目:Java 来源:网络整理
导读:我使用以下代码,每0.5秒替换一个JLabel,使用相同的句子,但使用另一个点. Runnable r1=new Runnable() { @Override public void run() { while(true){ try { connectionStatus.setText("Connection Established..."); Thread.sleep(500L); connectionStatus.s
我使用以下代码,每0.5秒替换一个JLabel,使用相同的句子,但使用另一个点.
Runnable r1=new Runnable() { @Override public void run() { while(true){ try { connectionStatus.setText("Connection Established..."); Thread.sleep(500L); connectionStatus.setText("Connection Established."); Thread.sleep(500L); connectionStatus.setText("Connection Established.."); Thread.sleep(500L); } catch (InterruptedException ex) { } } } }; Thread th1=new Thread(r1); th1.start(); 这是使用线程的真正目的吗?这会影响程序的速度吗?如果我正在做的事情是如此愚蠢,还有其他方法来做这些愚蠢的事情吗? 解决方法
如果您希望这些操作并行运行,那么答案是肯定的
如果您以固定的时间间隔更新标签,那么您应该选择使用Timers 在旁注: >你应该避免在执行多线程时使用while(true),你应该定义一个在循环中测试的stop boolean,或者如果扩展Thread类,则使用Thread.interrupted()>从非EDT线程更新UI元素时,应使用SwingUtilities.invokeLater (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |