我正在为自动售货机编写代码,并具有字母和数字的按钮布局。

现在,如果我按下“ 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

08-26 01:19