【发布时间】:2014-06-02 10:02:52
【问题描述】:
我目前正在尝试在我正在制作的程序中向用户打印一条消息,但不知何故,结果不是我所期望的。例如,我使用了 Oracle 对消息对话框的建议,即:
JOptionPane.showMessageDialog(frame, "Eggs are not supposed to be green.");
我明白了(注意最后缺少的点和按钮中缺少的 K):
这可能是我的 JDK 或 JRE 有问题吗?另外,我不知道它是否重要,但我在 Eclipse 平台上编程,在 Windows 7 上运行。
编辑编号1: 按照建议,我尝试了一个更简单的示例并得到了相同的结果。这是更简单示例的代码:
public class SampleGUI {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JOptionPane.showMessageDialog(
null, "Eggs are not supposed to be green.");
}
});
}
}
编辑编号 2: 为了让事情变得更奇怪,我似乎可以通过将笔记本电脑连接到插座来避免这种结果。这似乎非常愚蠢,我只能假设这是我的电脑出了问题。什么会导致这种情况发生?
edit2 更新:似乎并非每次都有效。由于我无法解释的原因,我在几分钟前尝试为我的笔记本电脑充电,得到了相同的结果。
编辑编号 3:我已经配置了 windows 7 和 ubuntu 14.04 的双启动,我也无法在 ubuntu 上重现错误。
【问题讨论】:
-
每当我认为 Java 有问题时,99.9% 的错误都在于我对 Java 的理解而不是 Java 本身。我会给你同样的赔率。请创建并发布minimal example program。让我们自己看看。
-
我相信这足以作为一个最小的例子,因为我没有机会编写比这更多的代码。尽管如此,我会尝试更简单的方法,然后编辑问题。感谢您的评论。
-
无法重现图示效果。
-
Swing 似乎错误地计算了对话框的大小。你可以手动调整diaoue的大小并让缺失的字符出现吗?我的猜测是您以某种方式“放大”了您的桌面(在具有超高分辨率的显示器上使用较大的字体),而 Swing 无法很好地处理这一点。
-
@tobias_k:看起来是这样,但我根本没有修改我的桌面(至少据我所知)。您能否提供一个代码示例,展示如何在通过
JOption.showMessageDialog(null,"Message");创建对话框时调整对话框的大小?
标签: java windows eclipse swing jdialog