-1

私はJavaの初心者なので、これを正しく行っているかどうかさえわかりませんが、テキストフィールド、パスワードフィールド、およびボタンを備えたGUIを作成しました。ボタンにイベントリスナーがあります。押されると、リスナーは名前とパスワードのフィールドをチェックしますが、現在のところ意図したとおりに機能していません。

イベントコード:

public class event implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent arg) {
        String name = textfield.getText();
        char[] temp_pass = password.getPassword();
        String pass = new String(temp_pass);

        if (name == "Spedwards" && pass == "test") {
            result.setText("Welcome Liam");
        } else {
            result.setText("Unknown User");
        }
    }
}

私がこれを理解する方法は、テキストフィールドとパスワードフィールドからテキストを取得し、それが等しいかどうかをSpedwardsそれぞれチェックしtestてから、GUI にあるラベルのテキストを設定することです。ただし、現在Unknown User、正しい情報を入力するかどうかに関係なく、テキストを設定するだけです。

なぜこれを行うのですか?また、必要な値を正しく取得するにはどうすればよいですか?

4

1 に答える 1

1

コメントですでに述べたように。文字列を比較する安全な方法は、String.equals() メソッドを使用することです

行を変更する

if (name == "Spedwards" && pass == "test") {

if ("Spedwards".equals(name) && "test".equals(pass)) {

于 2014-05-04T10:32:56.067 に答える