我是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错了吗?我不需要"总是排在最前面"解决方案,只是窗口出现在所有其他窗口之上。
提前谢谢!