`

swing 线程

阅读更多
SwingUtilities <nobr>第 4 页(共4 页)</nobr>


虽然 SwingUtilities 类不是 Thread API 的一部分,但还是值得简单提一下。

正如前面提到的,Swing 应用程序有一个 UI 线程(有时叫称为事件线程),所有 UI 活动都必须在这个线程中发生。有时,另一个线程也许想要更新屏幕上某样东西的外观,或者触发 Swing 对象上的一个事件。

SwingUtilities.invokeLater() 方法可以让您将 Runnable 对象传送给它,并且在事件线程中执行指定的 Runnable。它的同类 invokeAndWait() 会在事件线程中调用 Runnable,但 invokeAndWait() 会阻塞,直到 Runnable 完成执行之后。


void showHelloThereDialog() throws Exception {
    Runnable showModalDialog = new Runnable() {
        public void run() {
            JOptionPane.showMessageDialog(myMainFrame, "Hello There");
        }
    };
    SwingUtilities.invokeLater(showModalDialog);
}
          

对于 AWT 应用程序,java.awt.EventQueue 还提供了 invokeLater()invokeAndWait()

分享到:
评论
1 楼 12345678 2012-02-02  
貌似明白了,谢谢。

相关推荐

    Swing线程的深入理解和SwingWorker基础知识介绍

    Swing线程的深入理解和SwingWorker基础知识介绍 Swing线程是Java程序设计中的一种重要概念,用于处理图形用户界面(GUI)中的线程问题。在本文中,我们将深入探讨Swing线程的理解和SwingWorker基础知识,并通过实例...

    Swing线程的最后讨论 -- 利用异步模型

    【Swing线程的最后讨论 -- 利用异步模型】 Swing框架遵循单线程规则,即所有UI组件在同一时间只能被一个线程访问,通常这个线程就是事件派发线程。这一规则是为了避免多线程环境下的竞态条件和同步问题,确保组件的...

    Swing 线程之SwingUtilities invokeLater docx

    Swing 线程之 SwingUtilities invokeLater Swing 线程模型是 Java 中一个非常重要的概念,它是 Java 的图形用户界面(GUI)程序设计中的一部分。Swing 是基于 MVC 模式(Model-View-Controller)设计的,它提供了一...

    Swing线程基础经典

    Swing线程基础是Java GUI编程中的重要概念,特别是对于使用Swing库构建桌面应用程序的开发者而言。Swing设计遵循单线程模型,确保UI组件的线程安全性和响应性。以下是Swing线程基础的详细说明: 1. **Swing应用程序...

    再论JavaSwing线程.pdf

    Java Swing线程是Java GUI应用程序开发中的核心概念,特别是在创建响应迅速、稳定的应用时。Swing API设计为单线程模型,这意味着所有对Swing组件的修改和操作必须在同一个线程中完成,即Swing线程(AWT事件分派线程...

    swing 线程 实现奖项抽取

    在这个“swing 线程 实现奖项抽取”的项目中,开发者利用Swing来创建一个交互式的抽奖应用,用户可以通过点击按钮触发抽奖过程。这个过程涉及到了多线程的概念,以确保界面的流畅性和数据处理的并发性。 首先,...

    Swing线程基础可用.pdf

    Swing线程基础是Java GUI编程中的重要概念,特别是对于使用Swing库构建的应用程序而言。Swing设计遵循单一线程原则,确保图形用户界面(GUI)的稳定性和响应性。以下是Swing线程基础的详细说明: 1. **初始化线程 ...

    Swing线程的深入理解和SwingWorker基础知识介绍[参照].pdf

    Swing 线程的深入理解和 SwingWorker 基础知识介绍 Swing 是 Java 中的一种图形用户界面(GUI)工具包,用于创建桌面应用程序。然而,在使用 Swing 时,开发者经常会遇到线程相关的问题。本文将深入了解 Swing 线程...

    Swing线程基础.pdf

    Swing线程基础是Java GUI编程中的关键概念,主要涉及Swing应用程序中三种类型的线程:初始化线程、UI事件调度线程(EDT,Event Dispatch Thread)和任务线程(Worker Thread)。这些线程在Swing应用中各有其职责,以...

    Swing线程之SwingUtilities.invoke

    Swing线程机制是Swing库中的关键概念,它确保了所有对Swing组件的操作都在正确的线程——事件分发线程(Event Dispatch Thread,简称EDT)上执行,以避免线程安全问题和界面更新不一致的情况。`SwingUtilities....

    Java Swing 线程 下雪效果

    在Java Swing中创建动态、交互式的应用,线程管理是一个关键的概念。当我们谈论"下雪效果"时,这意味着在Swing程序中实现一个模拟下雪场景的动画。 首先,要实现下雪效果,我们需要理解Swing的事件处理机制。Swing...

    Java Swing多线程死锁问题解析

    代码执行前判断是否处于Swing线程当中(使用SwingUtilities.isEventDispatchThread()方法),如果不是,则需要通过SwingUtilities.invokeLater(Runnable)执行,否则则直接执行代码。 在Java Swing多线程死锁问题...

    Java开发中的线程安全选择与Swing

    ### Java开发中的线程安全选择与Swing 在Java开发中,Swing作为构建桌面应用程序图形用户界面(GUI)的主要工具之一,其设计目标是为了提供一个强大、灵活且易于使用的框架。Swing允许开发者轻松创建自定义组件或...

    Swing+socket多线程示例(适合设备中间件协议通讯)

    1、Swing与Socket多线程的应用示例,服务端监听某一端口,多客户端接入。 2、配置均使用properties文件,日志记录使用log4j。 3、处理线程,与发送webservice数据所用线程,均使用单例模式,使用队列处理数据。 4...

    基于swing的多线程聊天室

    【基于Swing的多线程聊天室】是一个Java应用程序,它利用了Swing库来构建图形用户界面(GUI)并采用多线程技术实现多用户之间的实时通信。Swing是Java Standard Edition(Java SE)的一部分,提供了丰富的组件库用于...

    java Swing 多线程下载器

    Java Swing多线程下载器是一种利用Java Swing库构建的图形用户界面(GUI)应用程序,它具备多线程下载功能,并支持断点续传。这样的工具类似于我们熟知的迅雷下载管理器,允许用户同时下载多个文件,提高下载速度,...

    Java的多线程-线程间的通信.doc

    在Java多线程编程中,线程间的通信是非常重要的概念,用于协调多个并发执行的任务。线程的状态转换是理解线程通信的基础,主要包括四个状态:新(New)、可执行(Runnable)、死亡(Dead)和停滞(Blocked)。新状态...

Global site tag (gtag.js) - Google Analytics