Java 最小化windows中的应用程序问题

Java 最小化windows中的应用程序问题,java,windows,Java,Windows,我已经编写了一个简单的应用程序来在derby DB中存储一些文本。我有两个按钮,每个按钮创建一个新的输入对话框。我的问题是,当我在我的Ubuntu PC上运行程序时,一切都很好。当我在Windows7电脑上运行它时,当显示输入对话框时,整个过程被最小化并对用户隐藏。因此,每次我需要用户提供一些输入时,他都必须恢复应用程序。另一个问题是该程序也没有出现在alt tab菜单中。以下是我用来显示对话框的代码: String s = (String) JOptionPane.showInputDialo

我已经编写了一个简单的应用程序来在derby DB中存储一些文本。我有两个按钮,每个按钮创建一个新的输入对话框。我的问题是,当我在我的Ubuntu PC上运行程序时,一切都很好。当我在Windows7电脑上运行它时,当显示输入对话框时,整个过程被最小化并对用户隐藏。因此,每次我需要用户提供一些输入时,他都必须恢复应用程序。另一个问题是该程序也没有出现在alt tab菜单中。以下是我用来显示对话框的代码:

String s = (String) JOptionPane.showInputDialog(this, "Моля въведете име:");

非常感谢所有帮助。

我尝试了以下代码-通过运行在64位Windows 7上的eclipse直接从main()运行。JFrame仍然显示,即使我尝试其他方式

JFrame f = new JFrame();
f.setSize(750, 500);
f.show();

JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");
试试这个,如果你得到同样的结果,那么至少我们知道我们正在处理的是windows问题,而不是Java问题

编辑:

在查看了你的代码之后,我发现了那行有问题的代码。另外,在配置完窗口后,通常应调用
setVisible()
。我的代码尤其如此,因为如果在显示窗口后尝试调用
setUndercorated()
,它会引发异常

您的代码:

this.setVisible(true);           //This should be called after you finish configuration
device.setFullScreenWindow(this); //This is the problem!!!
相反,您应该使用:

this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
如果要使窗口全屏显示,请使用:

this.setUndecorated(true);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);

可以肯定的是,这行代码是从窗口内调用的,即在JPanel/JFrame/etc.类中调用的吗?是的,它是从JFrame调用的,JFrame是这个应用程序中唯一的一个框架,它也被最小化了:)。请尝试我提供的代码,让我们知道发生了什么。这一切正常。我甚至添加了一个按钮来调用这个代码,它工作正常。@mitakis请阅读:嗯,这很有趣(而且很典型)。你能说出这是为什么吗?如果您将其发布到其他代码中,例如JFrame@mitakis2002例如我发现了问题!见上面的答案。