当前位置:   article > 正文

Java多线程入门(三)——GUI事件分发线程_java用多线程gui

java用多线程gui

前言

线程和Timer类有些相似,但是Timer类也是在线程上执行执行的。

定时器和事件处理程序运行在同一个事件分发线程(Event Dispatch Thread)上。这就代表了如果这个时间处理需要很长时间,那么定时器的效果其实不好,时间控制就不准确。

所以如果希望占用系统资源较少,就创建定时器;如果希望精确的延时和快速响应,最好使用线程

需求

到目前为止,创建一个框架并使其可见就能够从主方法启动GUI应用程序了,但是如果创建一个GUI应用程序小号了很长时间,那就可能会发生问题,所以为了避免这种情况的发生,应该从事件分发线程中开始GUI的创建。

代码

package P1;

import javax.swing.*;
import java.awt.*;

public class EventDispatchThreadDemo extends JApplet {
    public EventDispatchThreadDemo() throws HeadlessException {
        add(new JLabel("Hi,it runs from an event dispatch thread"));
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame=new JFrame("EventDispatchThreadDemo");
                frame.add(new EventDispatchThreadDemo());
                frame.setSize(300,200);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

小结

该程序是从事件分发线程中就启动了这个框架,虽然占用了系统资源,但是胜在速度够快。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/854145
推荐阅读
相关标签
  

闽ICP备14008679号