java swt 怎样实现label不断刷新 不影响其他组件

在面板上添加一个Label组件,要求该label初始值为0,然后不断加一.该界面还要有一个按钮,单机该按钮时,基数停止,请问要怎么样用线程实现?谢谢.... 在面板上添加一个Label组件,要求该label初始值为0,然后不断加一.该界面还要有一个按钮,单机该按钮时,基数停止,请问要怎么样用线程实现?谢谢. 展开
 我来答
fuhaiwei
推荐于2016-01-03 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1387万
展开全部
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class TimerDemo extends JFrame {
public static void main(String[] args) {
new TimerDemo();
}
public TimerDemo() {
this.setSize(600, 450);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
final JLabel label = new JLabel("0");
final Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = Integer.parseInt(label.getText());
label.setText(String.valueOf(i + 1));
}
});
timer.start();
final JButton button = new JButton("Stop");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Stop") {
timer.stop();
button.setText("Restart");
} else {
timer.restart();
button.setText("Stop");
}
}
});
add(label);
add(button);
this.setVisible(true);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丁文博0721
2013-04-15 · TA获得超过263个赞
知道答主
回答量:159
采纳率:0%
帮助的人:170万
展开全部
你好,java里面有javax.swing.Timer类,是定时器,里面有方法每隔一段时间执行一次,也有相应的方法停止定时器,你可以看看,查下API了解相应的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼星腾7N
2013-04-15 · TA获得超过1986个赞
知道小有建树答主
回答量:1988
采纳率:0%
帮助的人:1191万
展开全部
开一个线程呗,这个线程每次都给控件的值加一
加了一之后就睡个一秒钟
单击按钮就让线程stop就好了。
你是思路没有还是技术有难点呢?
追问
其实是有一个程序,执行超快,不可能睡一秒因为一秒中刷新好多条.头都快想破了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式