-1
숫자 버튼을 추가 할 수 없어서 11을 입력하면 텍스트 필드에만 1을 표시합니다. 다른 번호 버튼을 눌러 텍스트 필드의 1 또는 임의의 숫자에 추가 할 수 없습니다. 나는 작업 버튼계산기 : JTextField에서 반복 할 번호를 얻을 수 없습니다.
private ActionListener NumberTapped = new ActionListener() {
@Override
public void actionPerformed (ActionEvent e) {
// JOptionPane.showMessageDialog(null, "Number tapped");
JButton src = (JButton) e.getSource();
String numberSelected = "";
if (src.equals(btn0))
numberSelected = "0";
else if (src.equals(btn1))
numberSelected = "1";
else if (src.equals(btn2))
numberSelected = "2";
else if (src.equals(btn3))
numberSelected = "3";
else if (src.equals(btn4))
numberSelected = "4";
else if (src.equals(btn5))
numberSelected = "5";
else if (src.equals(btn6))
numberSelected = "6";
else if (src.equals(btn7))
numberSelected = "7";
else if (src.equals(btn8))
numberSelected = "8";
else if (src.equals(btn9))
numberSelected = "9";
else if (src.equals(btnA))
numberSelected = "1010";
else if (src.equals(btnB))
numberSelected = "1011";
else if (src.equals(btnC))
numberSelected = "1100";
else if (src.equals(btnD))
numberSelected = "1101";
else if (src.equals(btnE))
numberSelected = "1110";
else if (src.equals(btnF))
numberSelected = "1111";
if (operator.equals("") && operand1.equals("")) {
operand1 = operand1 + numberSelected;
outputField.setText(operand1);
} else if (!operator.equals("")) {//else if the operator has been set, then append the number onto operand2
operand2 = operand2 + numberSelected;
outputField.setText(operand2);
}
}
};
1) 더 나은 도움을 받으려면 [MCVE] 또는 [Short, Self Contained, Correct Example] (http://www.sscce.org/)를 게시하십시오. 2)이 작업 [계산기 예제] (http://stackoverflow.com/a/7441804/418556)도 참조하십시오. 'ScriptEngine'을 사용해 텍스트 필드의 표현을 평가합니다. –
무엇이'operator','operator1'과'operator2'입니다. '연산자'는 비어 있지만 '연산자 1'은 비어있을 수 있습니까? –