2011-12-26 84 views
5

我是Java和NetBeans的初學者。我試圖做一個簡單的程序,你介紹2個數字,他們的總和除以2。但是,我使用的是JFormattedTExtField,我不知道如何自定義它們中允許的輸入。基本上我試圖找出如何:如何設置jFormattedTextField,使它只允許2個數字?

  • 只允許輸入數字在JFormmatedTextField;
  • 只允許一定數量的數字;
+1

可能是你的JSpinner有看太, – mKorbel 2011-12-26 19:05:39

回答

9

您可以使用NumberFormat並指定setMaximumIntegerDigits的最大整數位數。

這是一個不錯的article

基本上,你可以這樣做:

NumberFormat f = NumberFormat.getNumberInstance(); 
f.setMaximumIntegerDigits(maxDigitsAmount); 
JFormattedTextField field = new JFormattedTextField(f); 

Format應保證所插入的字符串滿足格式。無論如何,即使提供了一個數字,文本字段也會將其存儲爲字符串。所以,如果你需要你原來的整數您需要重建它像建議@noise:

Integer i = Integer.toString(field.getText()); 
+0

謝謝!哦,另一件事。如果有人可以告訴我如何將文本字段的文本設置爲int?例如,我有2個整數(在2個文本框中輸入的值)和一個rezult int,它等於2個整數的和。如果我調用jTextField1.setText(rezult),它會要求字符串而不是int。任何幫助? – Bugster 2011-12-26 17:40:08

+1

使用'Integer.toString(int)' – 2011-12-26 17:43:20

+0

非常感謝。我幾乎修復它,除非我調用JFormattedTextField field = new JFormattedTextField(f);它給我一個錯誤「無法找到符號JFormattedTextField」。任何想法? – Bugster 2011-12-26 17:49:21