2

我有一个全屏(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();

如果有人需要更多代码,我可以轻松提供。我不确定如何解决这个问题以及从哪里开始。我放弃了“焦点”的想法,因为当弹出窗口出现时它有焦点。

4

1 回答 1

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());
    }
}
于 2011-08-16T19:02:27.647 回答