java - 如何保持一个线程调用多个JForm?

标签 java multithreading swing runnable

假设我有一个线程正在运行(我正在创建该线程的许多实例),并且在其中实例化一个 JForm。在该 JForm 内部时,我调用另一个 JForm。将其视为一个多步骤的注册过程。当我处于第二种形式时,之前创建的线程是否仍位于 run() 内?或者新的 JForm 正在创建一个新线程?我想让第一个线程保持 Activity 状态并在其生命周期内访问共享资源。

class Form1 extends JForm{
   public void jButton1ActionPerformed(..){
      ///show Form2
   }
}
class A extends Thread{
  public void run() {
     //show Form1
  }
}

class Main {
 public static void main(String args[]){
    new A().start();
    new A().start();
    new A().start();
}

谢谢。

最佳答案

当您创建并运行 A 线程时,您只需显示表单并继续执行该线程。另外,在单个专用 Swing 线程(自动为您启动)上,用户的点击将被捕获并处理,从而导致对 jButton1ActionPerformed 的调用。该代码块将在 Swing 线程内执行。

希望有帮助。请注意,您可以命名线程并始终使用 Thread.currentThread().getName() 来帮助您进一步了解代码中发生的情况。

关于java - 如何保持一个线程调用多个JForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695004/

相关文章:

java - 基于枚举测试条件

java - 在Java中,如果返回类型分别是基元及其包装类,是否可以重写方法?

java - 将按钮添加到 GUI 后 JTextField.requestFocus() 停止工作

c++ - 从 MFC 中的工作线程调用 Beginwaitcursor 函数

c++ - Qt Signal/Slots发送完整结构

java - 从另一个类更改 Java 卡布局中的 Activity "card"

java - 如何将 JMenuBar 添加到 JTextArea?

java - Android 游戏中的每秒帧数计数

Java + OpenOffice,互操作自动化真的这么难吗?

java - spectJ中的cflow可以检测跨线程执行吗?