在 Java 中使用 SwingUtilities.invokeLater()
在 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 尾部调用优化
发布时间:2023/08/10 浏览次数:170 分类:Java
-
本文讨论尾部调用优化(也称为 TCO)及其在 Java 中不存在的原因。 我们还将看到一些其他可以用来在 Java 中模拟 TCO 的方法。什么是尾调用优化
修复警告:使用或覆盖 Java 中已弃用的 API
发布时间:2023/08/10 浏览次数:75 分类:Java
-
本文我们将了解为什么警告说使用或覆盖已弃用的 API,并演示如何修复此问题以完成任务。修复警告说使用或覆盖 Java 中已弃用的 API
使用 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 中移动对象 我们看一下下面的代码。 我们稍后会解释。