-4

私はこれを具体的に作成していましたが、これを文書化するのに少し混乱しました. 最後の数行が何をするかを説明することに固執しています:

class MyVerifier extends InputVerifier {

public boolean verify(JComponent input) {

  if (input==id) {
    return validId();

}

 else if (input==name) {
     return validName();

 }

 return false;
}

    public boolean validId() {
      boolean status;
      String theID = id.getText();
      Pattern pattern = Pattern.compile("\\d{8}");
      Matcher matcher = pattern.matcher(theID);
      if (matcher.matches()) {
          status = true;
      }
      else {
          status = false;
      }
       return status;
    }
    public boolean validName() {
       boolean status;
       String theName = name.getText();
       Pattern pattern = Pattern.compile("[A-za-z0-9 ]+");
       Matcher matcher = pattern.matcher(theName);
       if (matcher.matches()) {
           status = true;
       }
       else {
           status = false;
       }
       return status;
    }
}

これらの特定の行を 1 つずつ説明していただけますか?

/**
 * @param  o    the object corresponding to the user's selection
 */
@Override
public void tell(Object o) { -- Where has this come from ?
    deptCode.setText(o.toString());
}

@Override
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == submit) {
        MyVerifier test = new MyVerifier();

        if (Staff.getStaff(id.getText()) == null && test.verify(id) &&
                test.verify(name)) {
            System.out.println("YAY");-- What is this doing
        }
        else if (!(Staff.getStaff(id.getText()) == null)) {
            String errorMessage = "ID EXISTS: " + Staff.getStaff(id.getText()).toString(); -- What is this doing

            JOptionPane.showMessageDialog(theFrame, errorMessage, "Error",
                JOptionPane.WARNING_MESSAGE);-- What is this doing
        }
        else {
            System.out.println("Woops.");
        }
    }

    else if (e.getSource() == clear) {
        id.setText(null);
        deptCode.setText(null);
        name.setText(null);
    }
}

public static void main(String[] args) {
    Registration test = new Registration();
}
}
4

2 に答える 2

0

あなたのpublic void tell(Object o)メソッドは、渡されたオブジェクトの値で String を設定しているようです。ただし、それを何に使用するかを示していないため、確実に知ることは不可能です. 一方、他の問題はかなり明確です。

System.out.println("YAY");

Staff.getStaff(id.getText)名前とIDのリストについて、文字列またはテキストファイルをチェックしているようです。idこのステートメントは、指定されたおよびを持つスタッフ メンバーが以前に作成されていない場合にのみ、"YAY" を出力しnameます。しかし、これらの変数がどこにあるかも示していないため、これは私の最善の推測にすぎません。

JOptionPane.showMessageDialog(theFrame, errorMessage, "Error", JOptionPane.WARNING_MESSAGE);

指定されたまたはJOptionPaneのスタッフ メンバーがすでに存在する場合、警告メッセージが表示されます。明らかに、他の誰かが持っているアカウントを作成することはできないため、実際にそうである場合はエラー メッセージが表示されます。idnameJOptionPane

于 2013-11-14T22:07:45.763 に答える