最小化Windows中的应用程序问题

时间:2011-08-29 16:22:12

标签: java windows

我写了一个简单的应用程序来在derby DB中存储一些文本。我有2个按钮,每个按钮创建一个新的inputDialog。我的问题是,当我在我的Ubuntu PC上运行程序时一切都很好。当我在显示输入对话框时在Windows 7 PC上运行它时,整个过程最小化并且对用户隐藏。所以每当我想要用户的一些输入时,他就必须恢复应用程序。另一个问题是该程序也没有出现在alt-tab菜单中。这是我用来显示对话框的代码:

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

非常感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

我尝试了以下代码 - 直接从main()通过在Windows 7 64位上运行的eclipse。即使我不这样做,JFrame仍会显示。

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

JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");

试试这个,如果你得到相同的结果,那么至少我们知道这是一个我们正在处理的Windows问题,而不是Java问题。

修改

查看完代码后,我发现了违规行。另外,作为附注,您通常应在配置窗口后调用setVisible() 。对于我的代码尤其如此,因为如果您在显示窗口后尝试调用setUndecorated() ,它会抛出异常。

您的密码:

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);