迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中使用 SwingUtilities.invokeLater()

作者:迹忆客 最近更新:2023/08/10 浏览次数:

在 Java 编程中,为了向开发人员提供一种易于实现的方法来防止并发访问,Swing 设计者提供了这样的规则:所有访问的代码都应在同一线程上运行。

SwingUtilities.invokeLater() 方法在 Abstract Window Toolkit (AWT) 事件调度线程上执行可运行对象。 我们这样做是因为 Swing 数据结构不是线程安全的。

线程安全意味着它可以从多个线程并行使用而不会导致任何错误。


在 Java 中使用 SwingUtilities.invokeLater() 方法

当在 Java 应用程序中使用多线程以及使用 Swing 作为应用程序的用户界面时,SwingUtilities.invokeLater() 方法非常重要。 用户界面中的任何更新都必须在事件分派线程上发生。

线程中的代码不会直接从事件处理程序中调用,但我们专门安排了图形用户界面 (GUI) 更新代码,通常,该代码将在事件分派线程上调用。

SwingUtilities.InvokLater() 代码:

package codes;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Codes {
  protected static void frameUI() {
    //Creating JFrame and calling from the main method
    JFrame myFrame = new JFrame("Testing SwingUtilities.Invokelater");
    myFrame.setBounds(20, 20, 350, 250);
    myFrame.setVisible(true);
    System.err.println(myFrame.getSize());
    myFrame.setResizable(false);
    System.err.println(myFrame.getSize());
  }

  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        frameUI(); //Calling Jframe
      }
    });
  }
}

事件调度线程

在 Java 编程中,特别是在使用 Swing 进行基于图形用户界面 (GUI) 的编程时,您必须经历过多线程并听说过或使用过事件分派线程。

事件调度线程是调用事件处理程序的线程。 本质上,整个用户界面(UI)代码将由该线程执行。

使用单个指定线程处理整个用户界面 (UI) 是一种很好的做法,因为它有助于避免许多错误。

Java线程

线程是计算机编程中的一个通用概念。 线程是整个进程的轻量级子进程。

它提高了应用程序并行性的整体性能。 应用程序被分为小的可执行单元,这些单元有时独立运行,有时依赖于应用程序任务的性质运行。

Java中线程的语法:

Thread myThread =new Thread();

每个线程都有一个进程,代表一个单独的控制流。 这些已在 Web 服务器和网络服务器中成功实现。

上一篇:Java 尾部调用优化

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 尾部调用优化

发布时间:2023/08/10 浏览次数:170 分类:Java

本文讨论尾部调用优化(也称为 TCO)及其在 Java 中不存在的原因。 我们还将看到一些其他可以用来在 Java 中模拟 TCO 的方法。什么是尾调用优化

Java远程调试

发布时间:2023/08/10 浏览次数:123 分类:Java

我们必须执行具有特定参数的 Java 应用程序,以允许远程调试器附加。 我们将探索如何设置运行/调试配置来完成我们的工作。先决条件 要遵循本教程,我们必须启动并运行以下内容。

使用 Java 删除文件夹

发布时间:2023/08/09 浏览次数:76 分类:Java

在本文中,我们将学习如何使用 Java 编程语言删除文件夹/目录。 有多种方法可以做到这一点。 让我们一一看看。使用Java的File类的delete()删除空文件夹

Java 中的多个动作监听器

发布时间:2023/08/09 浏览次数:178 分类:Java

本文我们将介绍如何在 Java 中创建多个动作监听器。在Java中,ActionListener是一个用于处理动作事件的类。 因此,Java 提供了这个接口,使用它我们可以找到用户单击按钮的位置,并生成一些事件

在 Java 中创建通用链表

发布时间:2023/08/09 浏览次数:186 分类:Java

本文我们将介绍如何在 Java 中创建一个通用的单链表。Java LinkedList 简介 LinkedList 是线性数据结构,它将数据存储在随机地址的节点中,并且意味着位于不连续的位置。

在JavaFX中使用setAlignment方法

发布时间:2023/08/09 浏览次数:129 分类:Java

在本文中,我们将了解如何以我们自己的格式对齐 HBox。 我们将看一个例子并逐行解释它以使其更容易理解。在 JavaFX 中使用 setAlignment() 方法

在 JavaFX 中使用 KeyEvent

发布时间:2023/08/09 浏览次数:70 分类:Java

KeyEvent 用于检测按键并在按下按键时执行特定的代码块。本文将展示如何创建按键事件并在用户按下按键时执行简单的代码。 我们还将看到一个简单的示例,以使其更容易理解。

在 JavaFX 中移动对象

发布时间:2023/08/09 浏览次数:199 分类:Java

在本文中,我们将向左、右、上、下四个方向移动对象。 为此,我们将使用以下代码。在 JavaFX 中移动对象 我们看一下下面的代码。 我们稍后会解释。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便