2014-05-17 3 views
0

JButton을 사용하는 숫자 패드가있는 Java Swing 응용 프로그램을 개발 중입니다. 숫자 0-9, 십진수에 대한 점 및 입력 버튼이 있습니다. 분명히 버튼의 숫자는 문자 일 뿐이고 정수가 아닙니다.JButton으로 숫자 사용자 입력을 코딩하는 가장 좋은 방법은 무엇입니까?

사용자가 버튼을 클릭하여 $ 25.68과 같은 통화 금액을 입력 할 수있게하려고합니다. 그들이 끝나면 enter를 누르십시오.

나는이 금액을 받아 두 배 변수에 넣기를 원한다. 의 actionPerformed 기능에서

나는 일반적인 작업을 수행합니다

if (e.getSource() == numberButton1){ 
    //put in first index of array 
} 

가 처음에 나는 -1에 할당과 같이 입력하여 도트 버튼의 정수 및 계정의 배열로 넣어 줄 알았는데 - 2. 하지만 배열에 숫자가 있으면 역순으로 될 것이고 요소의 수를 세고 마지막 색인에서 시작하여 10을 사용하여 역으로 읽을 수 있음을 알고 있지만 지나치게 지나치게 보인다. 복잡한. 소수 자릿수를 설명 할 필요는 없습니다. 그래서 내가 백만 줄의 코드를 작성하기 전에 나는 내가 물어볼 줄 알았는데 ...

... 거기에 간단한 방법이 있습니까?

답변

0

글로벌 문자열 값을 선언합니다. 숫자 또는 점 (.) 단추마다 숫자 또는 점을 문자열에 연결하십시오. 그런 다음이 문자열을 사용해야 할 때 문자열을 이중으로 구문 분석하십시오. 예를 들면 다음과 같습니다.

String value = ""; 
// Lines of code 
if (e.getSource() == numberButton1) 
{ 
    value += "1"; 
} 
if (e.getSource() == dotButton) 
{ 
    value += "."; 
} 
// Do the same for other numbers 
// When you need the value as a double do the following 
double _value = Double.parseDouble(value); 

추 신 : 사용자가 도트를 두 번 누르면 확인을 추가하는 것을 잊지 마십시오. 두 개의 십진법을 사용할 수 없습니다.

0

연결할 단추를 입력에서 다음 문자열 의 모든 입력은 각 버튼

value=value+"3"; 

그리고 ...

value=value+"."; 
에서 Declar

String value =""; 
double val =0; 

더블

로 문자열을 구문 분석을 클릭

등등.

다음 버튼을 지금은 numiric 더블

val =Double.parseDouble(value); 

를 입력에서 ... 그것은

+0

죄송합니다. 나는 모바일에있다. – Yazan

2

나는했습니다, 지금은 ... 당신이 스스로 당신이 예를 들어

을 원하는 방식으로 구성 할 수 있습니다 조치를 포함 정의 할 수 있습니다, Actions API에서 살펴 본다

public class NumberAction extends AbstractAction { 

    private char value; 
    private JTextField field; 

    public NumberAction(char value, JTextField field) { 
     this.value = value; 
     this.field = field; 
     putValue(NAME, Character.toString(value)); 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     String text = field.getText(); 
     text += value; 
     field.setText(text); 
    } 

} 

을 고려 간단히 char을 기본 값으로 사용했습니다. 실제적으로 숫자 값의 어떤 종류도 사용하지 않습니다 ...

다음과 같은 작업을 수행하는 버튼을 만들 수 있습니다.예를 들어

JButton num7 = new JButton(new NumberAction('7', field); 
JButton num8 = new JButton(new NumberAction('8', field); 
JButton num9 = new JButton(new NumberAction('9', field); 
//... 

...하지 형식화하는 대한

관련 문제