使用多线程,时时更新Label显示当前时间。
例子代码包括两部分,run方法使用eclipse提供的默认方法实现,SWTlabel刷新。
run2方法使用timetask线程(java多线程方式)实现。
不管什么方式,都回避不了,eclipse多线程对java多线程的限制(在java线程中不可以直接操作SWT的control)。
但是个人认为:倾向使用java线程套eclipse线程的方式,因为多线程的负担由eclipse平台转移至了java虚拟机。对于非常复杂的数据计算或许可以提高效率。减少eclipse的响应时间。
(以上观点,仅仅是使用中的猜测,没有任何证据。希望我可以发现证据支持这一猜测)
public class Runner {
private Label ll;
private boolean start = false;
private Timer timer;
public Runner(Label ll) {
this.ll = ll;
}
public void start() {
start = true;
// run();
run2();
}
private void run() {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
if (!start)
return;
ll.setText(new Date().toString());
Display.getDefault().timerExec(2000, this);
}
});
}
private void run2() {
timer = new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
if (!start)
return;
Display.getDefault().asyncExec(new Runnable() {
public void run() {
ll.setText(new Date().toString());
}
});
}
}, 1000, 1000);
}
public void stop() {
start = false;
}
}
分享到:
相关推荐
4. **多线程**:在SWT应用程序中,为了防止主线程(UI线程)被长时间运行的任务阻塞,后台处理通常在独立的线程中进行。这可以通过Java的Thread类或者Runnable接口实现。在本例中,接收和解析ModBUS数据的线程应独立...
3. **消息循环**:SWT使用了类似Windows的消息循环机制,而不是Swing中的事件分发线程。通过不断地读取消息并分发处理,维持窗口的响应状态。 ### 结论 SWT作为一款强大的GUI组件库,对于那些希望在Java应用程序中...
首先,我们需要创建一个`Display`对象,它是SWT中用于管理GUI线程和绘制的上下文。然后创建一个`Shell`对象,它是SWT窗口的基本构建块。`Shell`的实例化通常伴随着`Display`的实例,这样它们就能一起工作。 接下来...
多线程是Java的一大特色,可以让你的程序同时执行多个任务。通过实例,你可以了解Thread类的使用,线程同步方法(如synchronized关键字、wait()和notify()),以及如何实现Runnable接口来创建线程。 6. **网络编程...
在实际开发中,`WebToImage.java`可能还会包含错误处理、配置选项(如分辨率、是否包含滚动条等)以及多线程支持等功能,以满足不同场景的需求。 总的来说,通过使用DJNativeSwing库,Java开发者可以轻松地在Swing...
javathread.zip 10.Java多线程编程(线程池、生产者消费者、存取款实例) javautil.zip 11.Java常用实体类 javaxml.zip 14.XML属性文件 第4部分(6个程序包) javagui.zip 15.Java GUI库对比实例 javaawt.zip ...
强大的调试器支持多线程和远程调试,使得问题定位更为便捷。 6. **持续集成**:支持CVS和Subversion等版本控制系统,便于团队协作。同时,它也集成了IBM Rational Team Concert,提供项目管理、任务分配、代码审查...
12.1.5 为什么需要多线程309 12.1.6 线程分类309 12.2 线程的生命周期309 12.2.1 线程的状态及转换310 12.2.2 线程睡眠311 12.2.3 线程让步313 12.2.4 线程的加入313 12.3 线程的调度和优先级314 12.4 线程的同步315...
- 类库结构、资源管理、多线程访问GUI资源等是理解SWT的关键点。 - **3.2 SWT疑难点解析** - Button、Text、Table等控件的具体使用方法及其特性。 - 如何在SWT中显示AWT/Swing对象,解决跨平台UI兼容性问题。 - *...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...