【问题标题】:Why does my JFrame close after a few seconds?为什么我的 JFrame 在几秒钟后关闭?
【发布时间】:2020-04-28 20:22:59
【问题描述】:

我是 java 新手,正在学习 swing 和 JFrames。我遵循了多个教程,但无法让我的 JFrame 保持打开状态。当我运行我的代码时,我可以看到空的 JFrame 打开,但它会在大约 2 秒后关闭或消失。当我使用 IntelliJ 和 Eclipse 时会发生这种情况。我已经发布了我的代码示例,它应该打开一个空的 JFrame,但它总是在几秒钟后消失。有人可以帮我阻止它关闭吗?

我试图解决的问题。

  • 重新安装 Java jdk-13.0.1
  • 重新安装 IntelliJ 和 Eclipse
  • 将 jdk/bin 目录添加到 windows 环境变量中
  • 更新了显卡驱动

    package com.FrameDemo;
    
    import javax.swing.*;
    
    public class EmptyJFrame {
    
        public static void main(String[] args) {
    
            JFrame frame = new JFrame();
            frame.setSize(300, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
    }
    

【问题讨论】:

  • 我从控制台和 IntelliJ 尝试过,但无法重现该问题。这是整个代码吗?
  • 您可能想使用单独的线程stackoverflow.com/questions/5780936/…
  • 教程没有使用单独的线程。它非常小,应该打开一个空的 JFrame。当我运行代码时,JFrame 打开 2-3 秒然后消失。我只是厌倦了从 IntelliJ 和 Eclipse IDE 运行我的代码。我不知道如何在 IDE 之外运行它。
  • 如果您在 Windows 操作系统上运行此程序,请检查任务管理器是否在启动程序后发现激活/添加的 java 进程,即使摆动框架“自动关闭”。如果是,试着把它放在前面,看看它是否留下。

标签: java swing


【解决方案1】:

我无法重现该问题,但我可以描述您的代码如何为我工作,使用 Java13,从命令行构建:

  • 以某种方式获得命令提示符并导航到您的com 文件夹的位置(然后包含FrameDemoEmptyJFrame.java
  • 正如你所说的 JDK 已经在路径中,输入 javac com\FrameDemo\EmptyJFrame.java
  • 然后输入java com.FrameDemo.EmptyJFrame

在我的特殊情况下,我的文件为c:\test\com\FrameDemo\EmptyJFrame.java,因此我在c:\test 中键入了这些命令,并且我还需要先在路径中添加JDK:

Microsoft Windows [Version 10.0.17134.1184]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\test>path c:\External\jdk-13\bin

C:\test>java --version
openjdk 13 2019-09-17
OpenJDK Runtime Environment (build 13+33)
OpenJDK 64-Bit Server VM (build 13+33, mixed mode, sharing)

C:\test>javac com\FrameDemo\EmptyJFrame.java

C:\test>java com.FrameDemo.EmptyJFrame

所以它是 Java13(虽然我不确定 .0.1,它来自 2019-09-17),是的,它可以工作,面板保持打开状态,直到我自己关闭它。

【讨论】:

  • 感谢您花时间试用我的代码。我一步一步完成了你所做的一切,我的 jframe 在大约 2 秒内打开和关闭。我无法让它保持打开状态。如果我尝试使用命令行、Intellij 或 Eclipse 打开它并不重要。几秒钟后框架消失。我不知道如何解决这个问题。
  • 这是 13.0.0,不是 13.0.1。
猜你喜欢
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多