【问题标题】:JOptionPane Dialog boxes not displaying correctly in EclipseJOptionPane 对话框在 Eclipse 中未正确显示
【发布时间】:2020-02-16 05:12:21
【问题描述】:

我在 Eclipse 2019-09 上使用 Java 12.0.2,最近我遇到了拒绝显示的 JOptionPane 对话框。我尝试过使用 Eclipse 2019-06 但无济于事,我尝试过使用不同的文件和类名,以及不同的 eclipse-workspace 位置。 有关如何解决此问题的任何想法?

编辑:使用“显示命令行”按钮我得到了这个: C:\Program Files\Java\jdk-12.0.2\bin\javaw.exe -Dfile.encoding=UTF-8 -classpath "C:\Users\Michael\eclipse-workspace\test\bin" test.test

我使用的是 Windows 10 Home,版本 1903。我将 Nvidia 控制面板中的 OpenGL 渲染 GPU 强制到我的专用 GPU,但它并没有改变任何事情。我还在环境变量中将 JDK 的 \bin 位置添加到 PATH 中,并正确设置了 JAVA_HOME,但没有任何改变。

这是我使用的代码:

package test;

import javax.swing.JOptionPane;

public class test {

    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "test");
    }

}

结果如下:

【问题讨论】:

  • 应在 EDT 上启动的 Swing GUI。这样做,如果仍然失败,edit 添加minimal reproducible example
  • 为我工作。您的操作系统(即 Windows)版本是什么?我在 Windows 10 上。您是否更改了 Windows 配置中的任何内容?发布 Eclipse 用来运行 test 类的 java 命令。请参阅 EclipseRun Configurations 对话框窗口中的按钮 Show Command Line
  • 这很可能是 Swing 和您的视频卡的问题。请查看this question
  • 如果你从命令行运行它(在运行配置有一个显示命令行按钮),你得到同样的结果吗?我怀疑它与 Eclipse 有关。

标签: java eclipse swing joptionpane


【解决方案1】:

好的,所以我找到了某种“解决方案”。我发现问题不在于 Eclipse,因为我运行的 .jar 类似地只显示一个白色空白框并崩溃,就像上图中的 JOptionPane 一样。

我所做的是安装了 32 位 Java 8u231 JDK,将 Eclipse 配置为使用它而不是 12.02,并且使 JOptionPane 窗口正确显示并且没有崩溃。

我之前尝试运行的 .jar 我卸载了 JDK 12.02

之后也能正常运行

为什么只有 32 位 JDK 似乎可以工作仍然是一个谜,我将继续研究和排除故障,但与此同时,如果有人遇到类似问题,这就是我(暂时且不完美地)解决它的方法。

image1

image2

编辑:通过重新安装 Windows,我能够让 64 位 JDK 工作。一切恢复正常,希望问题不再出现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2016-02-02
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多