当前位置: 首页 > 知识库问答 >
问题:

启动GUI作为线程

鲍国兴
2023-03-14

我有一个工作正常的GUI类,但是我在那个GUI类中有一个按钮,应该是从另一个类打开一个新的GUI...

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){

     GUI2 newGui = new GUI2();
     newGui.setVisible(true);
}

然而,当调用新的GUI类(newGui)时,它只是一个透明窗口。这是因为两个GUI不能同时运行吗?

我现在正试图以线程的形式打开新的GUI,但我不知道该怎么做!

 Thread thread = new Thread();
 thread.sleep(5000);
 thread.newGui.setVisible();

公开无效运行();

这是我的尝试,但不出所料,这没有成功。

有什么帮助吗?

谢谢

共有2个答案

单喜
2023-03-14
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
    Thread thread = new Thread(){
        public void run(){
            GUI2 newGui = new GUI2();
            newGui.setVisible(true);
        }
    };  
    thread.start();
}
逑何平
2023-03-14
 SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
               GUI2 newGui = new GUI2();
               newGui.setVisible(true);
            }
        });
 类似资料:
  • 我写了一个程序的小例子,它应该在按下后开始运行多批次并行线程。这个过程只能启动一次,在一批线程完成后,它应该检查是否是退出的时候了。 所以例如,它可以像这样: -批处理1(10个线程)正在运行,在它<代码>stop_button被按下。完成批次1后,程序应该停止而不运行批次2并返回初始状态(再次具有启动此过程的选项)。 但是,在这个过程中,GUI似乎根本无法注册单击或任何东西。它只是看起来冻结了。

  • 我使用我的用户(PC-Admin)在Windows7上安装了PostgreSQL V9.6,问题是当我启动pgadmin4.exe时,应用程序显示它正在启动,然后冻结,不显示GUI,请注意以下几点: 对于PC上的其他用户,即使不在管理组中,它也能正常工作。 我试图卸载它,删除本地机器和本地用户的注册表文件夹,还删除临时文件夹和应用程序漫游,以及程序在c:/drive中的文件夹,然后重新安装,问题仍

  • 问题内容: 嗨,我是Java GUI的新手,正试图使启动屏幕或图像显示3秒钟。然后,它将进入我的主程序。是否有人有想法做到这一点,或者可以将我链接到任何教程? 到目前为止,我已经做到了这一点,但不确定从何而来。 问题答案: 最简单的方法是创建并添加您的内容,然后使用 试试这个代码: 或者, 您可以使用 SplashScreen 类创建一个启动画面 ****

  • 我正在尝试开发一个应用程序,它应该能够运行在只有CLI的环境中,以及在启用GUI的模式下。由于我的一些工作是由Jav FX线程完成的,所以我需要在不启动图形引擎的情况下启动JavaFX主线程,因为这在只使用CLI的环境中会崩溃。我该怎么做?我已经编写了第一个主类,它将使用命令行参数来决定GUI是否将被启动或者它应该在CLI模式下运行。GUI已经工作了,我只需要弄清楚如何在另一个类中运行没有GUI的

  • 我有一个系统,当它收到来自webservice的调用时启动workers。Worker由ExecutorService启动,要启动的类实现Runnable。但是,如果工作线程超时,我将无法实际杀死该工作线程,这将导致我的系统出现资源问题。 如果工作线程超时,我将看到以下日志消息: 然后是保持空闲的服务,直到另一个工作者请求进入。然而,尽管对ExecutorService和Future分别调用了sh

  • 我在Python3.3中有一个Tkinter GUI,带有一个进度条和一个启动另一个线程的按钮。此线程在10秒内填充进度条,并在此期间在控制台上打印0到99之间的数字 只要我不移动或调整GUI窗口的大小,它就可以正常工作。如果我删除标记行为了使工作线程不接触进度条,因此根本不会影响GUI,即使我正在操作窗口,它也会在控制台上连续打印数字。 为什么会发生这种情况?通常会采取什么措施来避免GUI操作导