用户输入的JPanel应该显示在所有其他窗口之上

时间:2014-07-10 07:36:24

标签: java swing jpanel joptionpane always-on-top

我是java swing的新手并且有一个问题,但首先让我解释一下我的应用程序的作用:

首次启动我的java web start应用程序要求用户输入用户名和密码,然后用java偏好设置api,然后(对于所有其他启动)它处理后台的所有内容,没有任何gui,除非发生错误

我实际上是怎么做的:

public boolean getLogin() {
    JTextField u = new JTextField(5);
    u.setText("Username");
    JPasswordField p = new JPasswordField(5);
    p.setText("example");
    p.setEchoChar('*');

    JPanel input = new JPanel();
    input.setLayout(new BoxLayout(input, BoxLayout.Y_AXIS));
    input.add(new JLabel("Please input your credentials"));
    input.add(Box.createVerticalStrut(25));
    input.add(u);
    input.add(Box.createVerticalStrut(10));
    input.add(p);

    int result = JOptionPane.showConfirmDialog(null, input, "Login", JOptionPane.OK_CANCEL_OPTION);
    if (result == JOptionPane.OK_OPTION) {
        id.setCredentials(u.getText(), p.getPassword());
        return true;
    } else
        return false;

}

像魅力一样工作,我唯一的问题是JOptionPane有时会出现在webbrowser,explorer等所有其他窗口的后面。是否有一个解决方案让JOptionPane / JPanel让窗口出现在所有其他窗口之上?或者是JOptionPane / JPanel错了吗?我不需要"总是排在最前面"解决方案,只是窗口出现在所有其他窗口之上。

提前谢谢!

0 个答案:

没有答案