我使用Java Swing创建了一个登录框架 - 登录框架(1),用户身份验证也发生了。
看起来像这样:
因此,如果用户输入错误的电子邮件ID /密码,则应显示消息对话框。这就是为什么我在这里使用:
JOptionPane.showMessageDialog( this,"plese enter correct id/password")
但它显示错误..
Login.addActionListener((e) -> {
ArrayList<Registration> list0;
list0=UserDataReadWriteFromFile.readDataFromFile();
int idpos=Search.searchId(tuid.getText().trim());
if(idpos >=0){
String ueid=tuid.getText().trim();
String uupass=tpass.getText().trim();
if(ueid.equals(list0.get(idpos).getId())&& uupass.equals(list0.get(idpos).getPassword())){
new SearchDisp(idpos);
}
else
JOptionPane.showMessageDialog( this,"plese enter correct id/password");
}
});
我应该在JOptionPane.showMessageDialog()
中使用哪个组件?
这是我的登录框架的代码。在这个带登录按钮的代码中,我添加了Action Listener,它是用我上面提到的代码编写的。
public class LoginFrame{
public LoginFrame() {
JLabel uid, upass;
JTextField tuid;
JPasswordField tpass;
JButton Login;
JFrame frame = new JFrame("Login");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setLayout(null);
JLabel background = new JLabel(new ImageIcon(
"C:\\Users\\Tousif\\Desktop\\Login.jpg"));
frame.setContentPane(background);
uid = new JLabel("Email Id");
uid.setBounds(60, 50, 120, 25);
frame.add(uid);
tuid = new JTextField(20);
tuid.setBounds(120, 50, 150, 24);
frame.add(tuid);
upass = new JLabel("Password");
upass.setBounds(53, 80, 120, 25);
frame.add(upass);
tpass = new JPasswordField(20);
tpass.setBounds(120, 80, 150, 24);
frame.add(tpass);
Login = new JButton("Login");
Login.setBounds(150, 110, 80, 25);
frame.add(Login);
frame.setSize(370, 216);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] arg) {
new LoginFrame();
}
}
答案 0 :(得分:-1)
您可以使用 null ,例如:
JOptionPane.showMessageDialog(null, "Please Enter Correct ID and Password!",
"Invalid ID or Password", JOptionPane.WARNING_MESSAGE);