在全屏应用程序中生成JOptionPane会显示任务栏

时间:2011-08-16 18:59:01

标签: java swing user-interface awt joptionpane

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

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

1 个答案:

答案 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());
    }
}