「actionlistener」を使用する必要があることはわかっているので、以下のコードは機能するはずですが、機能しません。
if (e.getSource() == "but0") { // but0 is name of button with number "0"
String aaa = but0.getText();
field.setText(aaa);
}
「actionlistener」を使用する必要があることはわかっているので、以下のコードは機能するはずですが、機能しません。
if (e.getSource() == "but0") { // but0 is name of button with number "0"
String aaa = but0.getText();
field.setText(aaa);
}
作成時に配列にボタンを追加
ArrayList<JButton> buttonA = new ArrayList();
for(int i=0;i<=9;i++) {
String num_ = String.valueOf(i);
JButton button = new JButton(num_);
button.setName(num_);
buttonA.add(button);
// do remaining stuff
}
活動中
public void actionPerformed(ActionEvent e) {
if(buttonA.contains(e.getSource())) {
JButton btn = (JButton) e.getSource();
display.setText(display.getText() + btn.getName());
} else if() { // operations like +,- etc.,
}
JavaDocs からjava.awt.event.EventObject
:
public Object getSource()
イベントが最初に発生したオブジェクト。
String と比較する代わりに、ボタン自体と比較してみてください。
if (e.getSource() == but0) {
String aaa = but0.getText();
field.setText(aaa);
}