public class test extends Applet { private JButton[] btn; private JTextField jtf = new JTextField(20); public void init() { btn = new JButton[10]; MyListener temp = new MyListener(); for (int i = 0; i < 10; i++) { btn[i] = new JButton("btn0" + i); this.add(btn[i]); btn[i].addActionListener(temp); }
this.add(jtf); }
private class MyListener implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == btn[0]) { jtf.setText("0"); } else if (e.getSource() == btn[1]) { jtf.setText("aaaaaaaaaaaaaaaaaaa"); } else if (e.getSource() == btn[2]) { jtf.setText("bbbbbbbbbbbbbbbbbbb"); }else if (e.getSource() == btn[3]) { jtf.setText("ccccccccccccccccccc"); }else if (e.getSource() == btn[4]) { jtf.setText("ddddddddddddddddddd"); }else if (e.getSource() == btn[5]) { jtf.setText("eeeeeeeeeeeeeeeeee"); } else { jtf.setText("gggggggggggggggggg"); } }
equals是用来比较两个变量内容是否相同的
所以你这里应该用equals
if(source.equals("1"))
if(source==btn[0])也不行啊
所以在String的比较中需要的是"值相等",所以要用String中equals(Object obj)方法,这样才能成功,所以改成source.equal("")才行!
{ btn[i]=new JButton(tmp.valueOf(i));
btn[i].addActionListener(this);
}
但如果我用getSource()
if(source==btn[0])也不行啊
.equals也不行
是不是搞错了?
getSource返回是object来的?请指教,谢谢!
当我用getSource()时,source是Object的,不是String
当我用getActionCommand()时,source才是String的,
问题是:
for(int i=0;i<10;i++) //用循环初始化
{ btn[i]=new JButton(tmp.valueOf(i));
btn[i].addActionListener(this);
}
如果我用getSource()
if(source==btn[0])不行,用.equals也不行
请问为什么?谢谢!
private JButton[] btn;
private JTextField jtf = new JTextField(20);
public void init() {
btn = new JButton[10];
MyListener temp = new MyListener();
for (int i = 0; i < 10; i++) {
btn[i] = new JButton("btn0" + i);
this.add(btn[i]);
btn[i].addActionListener(temp);
}
this.add(jtf);
}
private class MyListener implements ActionListener { public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn[0]) {
jtf.setText("0");
} else if (e.getSource() == btn[1]) {
jtf.setText("aaaaaaaaaaaaaaaaaaa");
} else if (e.getSource() == btn[2]) {
jtf.setText("bbbbbbbbbbbbbbbbbbb");
}else if (e.getSource() == btn[3]) {
jtf.setText("ccccccccccccccccccc");
}else if (e.getSource() == btn[4]) {
jtf.setText("ddddddddddddddddddd");
}else if (e.getSource() == btn[5]) {
jtf.setText("eeeeeeeeeeeeeeeeee");
} else {
jtf.setText("gggggggggggggggggg");
}
}
}