我的问题是我想检查电子邮件文本字段是否包含char" @"。我应该怎么做?我还想检查其他文本字段,如名称,用户名,密码是否是空。谢谢你的帮助。这个应用程序让我大吃一惊!
private JButton signupButton;
private JTextField name;
private JTextField email;
private JTextField username;
private JPasswordField pass;
private UserManager userManager;
public SignUpFrame (UserManager userManager){
super("Please fill in your Data");
userManager = new UserManager();
signupButton = new JButton("Sign Up!");
signupButton.addActionListener(new signupButtonListener());
name = new JTextField(15);
email = new JTextField(15);
username = new JTextField(15);
pass = new JPasswordField(15);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new GridLayout(5,2));
mainPanel.add(new JLabel("Name:"));
mainPanel.add(name);
mainPanel.add(new JLabel("Email:"));
mainPanel.add(email);
mainPanel.add(new JLabel("Username"));
mainPanel.add(username);
mainPanel.add(new JLabel("Password:"));
mainPanel.add(pass);
mainPanel.add(signupButton);
this.setContentPane(mainPanel);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
class signupButtonListener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
String nam,emai,id,psw;
nam = name.getText();
emai= email.getText();
id = username.getText();
psw = pass.getText();
User u1 = new User(nam,emai,id,psw);
UserManager.userList.add(u1);
}
答案 0 :(得分:0)
要检查TextField是否为空,您可以使用if语句:
if(name.getText().length() > 0){ nam = name.getText(); }
...
为了检查您的电子邮件TextField中是否有char @,您可以使用.contains()方法:
emai= email.getText();
if(emai.contains("@")){ ... }
我希望我能帮到你..
答案 1 :(得分:0)
尝试使用if来测试字段保持的内容,即
if(nam.equals("")){
//alert the user
}
您可以对所有字段执行此操作。
你可以使用电子邮件的正则表达式 - 比如
String emailreg = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
Boolean result = emailAddress.matches(emailreg);
if(result == true){
//email is valid
}
希望这有帮助。