質問: テキストフィールドでエンターキーを押したとき1以上で背景を青色、0以下で赤色、空の場合に背景を黄色にしたいのです。nullかどうかの判断の方法がわかりません。教えてください。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Textbox extends Applet{ TextField tf; public void init(){ //テキストフィールドの作成 add (tf= new TextField("",10)); tf.addActionListener(new MyListener()); } //Enterが押された時のイベント class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e){ TextField t=(TextField)e.getSource(); t.getText(); //テキストの文字を数値化 Integer obj =Integer.valueOf (t.getText()); int a =obj.intValue(); //テキストの中身で背景色を変える if (a>0) tf.setBackground(Color.blue); else tf.setBackground(Color.red); //テキストフィールドの中身がnullか判断 if (t.getText()==null) tf.setBackground(Color.yellow); } } }
回答: if (t.getText()==null) を t.getText()==null || t.getText().length == 0 にかえましょう。 多分、これで大丈夫だと思いますよ。 NULLか空文字かの判断です。 忘れずに、空文字かどうかの チェックをしましょう