2013-10-23 3 views
0

JFormDesigner를 사용하여 양식을 만들었으므로 사용자가 4 자리 이상의 숫자를 입력 할 때 자동으로 1000 분리 기호를 추가해야합니다. 다음 코드를 시도했지만 분리 기호 (,)를 실시간으로 추가하지 않았습니다.1000 seperator를 실시간으로 추가하는 방법은 무엇입니까?

int no=Integer.parseInt(textField1.getText()); 
String str = String.format("%,d", no); 
textField1.setText(str); 

어떤 도움을 주시면 감사하겠습니다.

+0

@peeskillet 나는 그가 1.000 2.040 등 (점)을 의미한다고 생각합니다. – Apostolos

+0

1000 분리 기호가 명확하지 않은 것으로 예상 출력도 게시하십시오. – Prateek

+0

@peeskillet : 문화권에 따라 ','또는 '.'일 수 있습니다. 그래서 백만 달러는'en-US'에는'1,000,000','it-IT'에는'1.000.000'으로 쓰여질 수있다. – npinti

답변

0

실시간으로 분리 기호를 추가하지 않는다고 언급 했으므로 버튼을 클릭하거나 유사한 코드를 클릭하면 해당 코드가 실행되고 있다고 생각됩니다.

당신이해야 할 일은 키 스트로크 이벤트를 포착하고 이에 따라 텍스트를 수정하는 것입니다. This 이전 게시물은 올바른 방향으로 당신을 가리켜 야합니다.

0

숫자 ,을 추가하려면 DecimalFormat 클래스를 사용해야합니다.

DecimalFormat df=new DecimalFormat("###,###");  

int no=Integer.parseInt(textField1.getText()); 
String str = df.format(no); 
textField1.setText(str); 
+0

감사합니다. Masud. 실시간으로 위의 코드를 표시해야합니까? 나는 자바에 익숙하지 않다. 알아낼 수 없다. 1,000으로 1000을 표시해야합니다. – user2723764

+0

@ user2723764 textField1에 표시해야합니다. 내 편집 된 대답을보세요. – Masudul

0

스윙이 목적을 위해 텍스트 필드를 포맷 것처럼 - 나는 사용자 정의 등의 공간으로 분리 그룹화 얻으려면이

DecimalFormat df = new DecimalFormat("#,###,##0.00"); 
df.format(no); 
0

을 찾고 있다고 생각 , 다음과 같이하십시오 :