2010-03-22 6 views
1

Java SE 응용 프로그램에서 제품 가격을 나타 내기 위해 BigDecimal을 사용하고 있습니다.Swing GUI에서 BigDecimal을 사용하는 방법?

사용자가 소수점 두 자리 만 입력하여 BigDecimal 변수/Object 속성에 바인딩 할 수있게하려면 어떤 스윙 구성 요소를 사용해야합니까? (사용자가 입력 할 때 확인)?

나는 JTextField, JFormattedTextField, NumberFormatter, MaskFormatter를 가지고 놀았지만 해결할 수는 없다.

이러한 구성 요소를 조합하여 구성 할 수 있습니까? 또는 MaskFormatter, JTextField를 확장해야합니까? 난 당신이 뭘 하려는지 확실히 모르겠지만, 매개 변수로 문자열을 취하는 BigDecimal의 생성자가

답변

1

(유사 Double.parseDouble(String s)를 가령합니다) :

try 
{ 
    BigDecimal decimal = new BigDecimal(yourJTextField.getText()); 
} 
catch (NumberFormatException nfe) 
{ /* error handling */} 

자세한 내용은 BigDecimal에 대한 JavaDoc을 참조하십시오.

편집 : 확인하는 경우/수동으로 확인하거나 검사기를 사용하여 텍스트 필드에 사용자의 입력을 확인하는 내가 물건에이 정말 오래된 스레드를 네크로 싫지만 내 이해가

+0

문제를 사용하는 나는 숫자 만 할 수있는 구성 요소를 원하고, 단지 2 소수점이 허용됩니다 그것에 : 사용자가 글자를 입력하면, 그것은 표시되지 않습니다. 사용자가 소수점 세 번째 글자를 입력하면 글자는 보이지 않습니다. 그 위에 BigDecimal 변수에 해당 구성 요소를 바인딩하려고합니다. – mmutilva

+0

다음은 InputVerifier 문서를 살펴보십시오. http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/InputVerifier.html – Tedil

+0

InputVerifier는 포커스가 변경되면 작동합니다. 사용자가 구성 요소에 입력 할 때 입력을 제어하려고합니다. – mmutilva

관련 문제