我正在为自动售货机编写代码,并具有字母和数字的按钮布局。
现在,如果我按下“ a”按钮,它将在一个框中打印“ a”,但是如果我按下“ 1”按钮,它将替换该框中已经存在的“ a”并在其框中打印“ 1”地点。如何使输出说“ a1”而不是一个或另一个?
String buttonText = "";
for(int i = 0; i < 12; i++) {
if(event.getSource() == button[i]) {
JButton clickedButton = (JButton) event.getSource();
String buttonText1 = clickedButton.getText();
buttonText += buttonText1;
itemSelection.setText(buttonText);
最佳答案
一次您将无法单击多个按钮。
代替您的这段代码:
String buttonText = "";
for(int i = 0; i < 12; i++) {
if(event.getSource() == button[i]) {
JButton clickedButton = (JButton) event.getSource();
String buttonText1 = clickedButton.getText();
buttonText += buttonText1;
itemSelection.setText(buttonText);
尝试这个:
String buttonText = ((JButton) event.getSource()).getText();
itemSelection.setText(itemSelection.getText() + buttonText);
编辑:
为了限制输入,请尝试
DocumentFilter
。