我写了一个简单的应用程序来在derby DB中存储一些文本。我有2个按钮,每个按钮创建一个新的inputDialog。我的问题是,当我在我的Ubuntu PC上运行程序时一切都很好。当我在显示输入对话框时在Windows 7 PC上运行它时,整个过程最小化并且对用户隐藏。所以每当我想要用户的一些输入时,他就必须恢复应用程序。另一个问题是该程序也没有出现在alt-tab菜单中。这是我用来显示对话框的代码:
String s = (String) JOptionPane.showInputDialog(this, "Моля въведете име:");
非常感谢所有帮助。
答案 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);