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