我应该在JOptionPane.showMessageDialog()中使用什么组件?

时间:2016-12-31 07:22:47

标签: java swing compiler-errors joptionpane

我使用Java Swing创建了一个登录框架 - 登录框架(1),用户身份验证也发生了。

  1. 看起来像这样:

  2. 因此,如果用户输入错误的电子邮件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();
    }
    }
    

1 个答案:

答案 0 :(得分:-1)

您可以使用 null ,例如:

JOptionPane.showMessageDialog(null, "Please Enter Correct ID and Password!", 
                     "Invalid ID or Password", JOptionPane.WARNING_MESSAGE);