Java 如何验证来自JTextField的电子邮件

Java 如何验证来自JTextField的电子邮件,java,swing,validation,jtextfield,joptionpane,Java,Swing,Validation,Jtextfield,Joptionpane,正如标题所说,如果jTextField中缺少特定字符,我想显示一个jOptionPane。假设角色是“@” 我试过这样的方法: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String email = (String)txtEmail.getText(); if (!email.equals(email) && email.equals("@")){ j

正如标题所说,如果jTextField中缺少特定字符,我想显示一个jOptionPane。假设角色是“@”

我试过这样的方法:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   
   String email = (String)txtEmail.getText();
   if (!email.equals(email) && email.equals("@")){
      jOptionPane1.showMessageDialog(null, "Please"); 
   }
}
然而,我不能让它工作。 我还尝试使用
contains()
contentEquals()
但我不知道如何正确使用它,所以我更改了代码。 在谷歌上搜索也无济于事,因为我找不到我想要的东西。
请考虑帮助。顺便说一句,我正在使用netbeans。

如果您试图验证电子邮件,请使用

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   
    String email = txtEmail.getText();
    if (!email.contains("@")) {
        jOptionPane1.showMessageDialog(null, "Please"); 
    }
}
下面是来自的电子邮件正则表达式验证模式的实现。关于正则表达式的解释也可以在网站上找到

private static final String EMAIL_PATTERN = 
    "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
    + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

if (!email.matches(EMAIL_PATTERN)) {}

谢谢我会记住这一点。出于兴趣,你如何使用包含?我如何使用包含,它会导致我更改它?像这样
if(!email.contains(email+“@”)