public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(addStaff)) {
if (usrNameField.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, "用户名不能为空", "警告",
JOptionPane.WARNING_MESSAGE);
return;
}
else if (!phoneField.getText().trim().equals("")) {
try {
System.out.println("test2");
Integer.parseInt(phoneField.getText().trim());
} catch (Exception e2) {
JOptionPane.showMessageDialog(null, "输入的手机号码不合法", "警告",
JOptionPane.WARNING_MESSAGE);
}
return;

解决方案 »

  1.   


    假设我点了addstaff,然后输入手机号码和年龄,两者都应该为整数
    我在actionPerormed中这样写:else if (!phoneField.getText().trim().equals("")) {
    try {
    System.out.println("test2");
    Integer.parseInt(phoneField.getText().trim());
    } catch (Exception e2) {
    JOptionPane.showMessageDialog(null, "输入的手机号码不合法", "警告",
    JOptionPane.WARNING_MESSAGE);return;
    }

    }

    else if (!ageField.getText().trim().equals("")) {
    try {
    Integer.parseInt(ageField.getText().trim());
    } catch (Exception e1) {
    JOptionPane.showMessageDialog(null, "输入的年龄不合法", "警告",
    JOptionPane.WARNING_MESSAGE);
    }
    return;

    结果是这两段哪个放在前面执行哪个,比如年龄我输入aaa,手机输入bbb,他报年龄错误,然后我将年龄aaa改为13,但是应该报手机号错误,他没有报,反过来我将手机号的那段代码放在前面他就报手机号错年龄号不报错
      

  2.   

    我都是用 e.getSource()==组件 判断的,不知道你说的是不是这个意思
      

  3.   

    看你的IF else 就是让他抱一个错误啊
      

  4.   


    我是用e.getSource()判断的
    问题就出在这两段代码上,只能执行放在前面的那段,而且以后的代码都不会被执行了
      

  5.   

    class IntegerOnlyDocument extends PlainDocument{
        // implementation
    }JTextField tf = new JTextField();
    tf.setDocument(new IntegerOnlyDocument());
      

  6.   

    import java.util.regex.*;
    Pattern p1 = Pattern.compile("^\\d{11}$"); // Mobile
    p1.matcher("13254325464").find() // truePattern p2 = Pattern.compile("^[1-9][0-9]?$"); //0 < age <100
      

  7.   

    使用InputVerifier验证JTextField的输入。phoneField.setInputVerifier(new InputVerifier(){
        public boolean verify(JComponent c){
            JTextField tf = (JTextField)c;
            return Pattern.compile("^\\d{11}$").matcher(tf.getText()).find();
        }
    });ageField.setInputVerifier(new InputVerifier(){
        public boolean verify(JComponent c){
            JTextField tf = (JTextField)c;
            return Pattern.compile("^[1-9][0-9]$").matcher(tf.getText()).find();
        }
    });
      

  8.   

    import javax.swing.*;import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.awt.Choice;public class addStaff extends JFrame implements ActionListener {
    String strurl;
    Connection conn;
    Statement stmt;
    ResultSet rs;
    Label label1 = new Label("用户名");// 用户名:
    TextField usrNameField = new TextField();// username field
    Label label2 = new Label("性别");// 性别:
    Choice genderChoice = new Choice();// 0:male 1:female
    Label label3 = new Label("年龄");// 年龄:
    TextField ageField = new TextField();// age field
    Label label4 = new Label("手机号");// 手机号:
    TextField phoneField = new TextField();
    Label label5 = new Label("附加信息");// 附加信息
    TextArea additional = new TextArea();
    Button addStaff = new Button("添加");
    Button clearAll = new Button("重写");
    Label newPasswd1 = new Label("新密码");
    Label newPasswd2 = new Label("确认新密码");
    TextField newPasswd1Field = new TextField();
    TextField newPasswd2Field = new TextField(); public addStaff() {
    super("增加新员工");
    Init(); } private void Init() {
    this.setEnabled(true);
    this.setResizable(false);
    this.getContentPane().setLayout(null); label1.setBounds(new Rectangle(30, 11, 51, 33));// 用户名
    usrNameField.setBounds(new Rectangle(86, 16, 74, 22));
    label2.setBounds(new Rectangle(168, 11, 28, 33));// 性别
    genderChoice.add("男");
    genderChoice.add("女");
    genderChoice.setVisible(true);
    genderChoice.setBounds(new Rectangle(198, 16, 50, 25));
    label3.setBounds(new Rectangle(255, 11, 28, 30));// 年龄
    ageField.setBounds(new Rectangle(290, 16, 44, 22));
    label4.setBounds(new Rectangle(30, 53, 49, 33));// 手机号
    phoneField.setBounds(new Rectangle(86, 58, 200, 22));
    phoneField.setText("");
    label5.setBounds(new Rectangle(30, 94, 50, 33));// 附加信息
    additional.setBounds(new Rectangle(86, 98, 220, 100));
    addStaff.setVisible(true);
    addStaff.setBounds(new Rectangle(90, 238, 89, 22));
    addStaff.addActionListener(this);
    clearAll.setVisible(true);
    clearAll.setBounds(new Rectangle(210, 238, 89, 22));
    clearAll.addActionListener(this);
    newPasswd1.setBounds(new Rectangle(30, 200, 40, 33));
    newPasswd1Field.setText("");
    newPasswd1Field.setEchoChar('*');
    newPasswd1Field.setBounds(new Rectangle(80, 205, 90, 22));
    newPasswd2.setBounds(new Rectangle(188, 200, 65, 33));
    newPasswd2Field.setText("");
    newPasswd2Field.setEchoChar('*');
    newPasswd2Field.setBounds(new Rectangle(260, 205, 90, 22));
    this.getContentPane().add(label1);
    this.getContentPane().add(label2);
    this.getContentPane().add(label3);
    this.getContentPane().add(label4);
    this.getContentPane().add(label5);
    this.getContentPane().add(usrNameField);
    this.getContentPane().add(genderChoice);
    this.getContentPane().add(ageField);
    this.getContentPane().add(phoneField);
    this.getContentPane().add(additional);
    this.getContentPane().add(addStaff);
    this.getContentPane().add(clearAll);
    this.getContentPane().add(newPasswd1);
    this.getContentPane().add(newPasswd2);
    this.getContentPane().add(newPasswd1Field);
    this.getContentPane().add(newPasswd2Field);
    } public void actionPerformed(ActionEvent e) {
    if (e.getSource().equals(addStaff)) {
    try {
    if (usrNameField.getText().trim().equals("")) {
    JOptionPane.showMessageDialog(null, "用户名不能为空", "警告",
    JOptionPane.WARNING_MESSAGE);
    return;
    } else if (newPasswd1Field.getText().trim().equals("")
    || newPasswd2Field.getText().trim().equals("")) {
    JOptionPane.showMessageDialog(null, "密码不能为空,请重新输入", "警告",
    JOptionPane.WARNING_MESSAGE);
    return;
    } else if (!newPasswd1Field.getText().trim().equals(
    newPasswd2Field.getText().trim())) {
    JOptionPane.showMessageDialog(null, "两次密码输入不一致,请重新输入",
    "警告", JOptionPane.WARNING_MESSAGE);
    return;

    if (!phoneField.getText().trim().equals("")) {
    try {
    Integer.parseInt(phoneField.getText().trim());
    } catch (Exception e2) {
    JOptionPane.showMessageDialog(null, "输入的手机号码不合法", "警告",
    JOptionPane.WARNING_MESSAGE);return;
    }

    }

    if (!ageField.getText().trim().equals("")) {
    try {
    Integer.parseInt(ageField.getText().trim());
    } catch (Exception e1) {
    JOptionPane.showMessageDialog(null, "输入的年龄不合法", "警告",
    JOptionPane.WARNING_MESSAGE);
    }
    return;
    }
    if(true){
    String url = "jdbc:odbc:personalstuff";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection(url, "admin",
    "123456");
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt
    .executeQuery("select pname from person where pname='"
    + usrNameField.getText() + "'");
    if (rs.next()) {
    JOptionPane.showMessageDialog(null, "此员工编号已经被使用.",
    "警告", JOptionPane.WARNING_MESSAGE);
    return;
    } else {
    int gender = genderChoice.getSelectedIndex();
    int authority = 1;
    stmt
    .execute("insert into person "
    + "(pname,page,psex,pinfo,ppasswd,pauthor,pphone) values ('"
    + usrNameField.getText() + "',"
    + ageField.getText() + "," + gender
    + ",'" + additional.getText() + "','"
    + newPasswd1Field.getText() + "',"
    + authority + ","
    + phoneField.getText() + ")"); JOptionPane.showMessageDialog(null, "增加信息成功!");
    rs.close();
    stmt.close();
    conn.close();
    this.setVisible(false);
    this.dispose();
    }
    }
    } catch (Exception eg) {
    eg.printStackTrace();
    }
    }
    if (e.getSource().equals(clearAll)) {
    usrNameField.setText("");
    ageField.setText("");
    phoneField.setText("");
    additional.setText("");
    newPasswd1Field.setText("");
    newPasswd2Field.setText("");
    genderChoice.select(0);
    } }

     public static void main(String args[]) { addStaff af = new addStaff();
     af.setVisible(true); af.setSize(400, 300); }

    }还是不行啊?数据库那部分进不去