我有一个全屏(100%,甚至覆盖任务栏)应用程序,有时会使用带有PasswordBox的JOptionPane要求输入密码。我的问题是,当弹出窗口出现时,您可以在底部看到系统的任务栏。它看起来像这样:
---- popup
------------ taskbar
------------ fullscreen app
虽然我希望堆栈保持这样:
---- popup
------------ fullscreen app
------------ taskbar
只要我的应用程序正在运行,我想完全隐藏任务栏。这是我正在使用的密码框类:
public class PasswordBox {
public String prompt() {
JPasswordField pass = new JPasswordField(10);
int action = JOptionPane.showConfirmDialog(null, pass,"Enter Password",JOptionPane.OK_CANCEL_OPTION);
return new String(pass.getPassword());
}
}
我这样调用它:
String tmpPASS = new PasswordBox().prompt();
如果有人需要更多代码,我可以轻松提供。我不知道如何解决这个问题以及从哪里开始。我放弃了“焦点”的想法,因为当弹出窗口出现时它有焦点。
答案 0 :(得分:2)
如果我没弄错的话,你应该将父JFrame
作为第一个参数传递给JOptionPane
:
public class PasswordBox {
public String prompt(JFrame fatherFrame) {
JPasswordField pass = new JPasswordField(10);
int action = JOptionPane.showConfirmDialog(fatherFrame, pass,"Enter Password",JOptionPane.OK_CANCEL_OPTION);
return new String(pass.getPassword());
}
}