2015-01-31 86 views
0

最大值我有下面的代碼,只允許一個數值在該領域允許:設置可訂立的JFormattedTextField

try { 
    MaskFormatter deckLevelEntry = new MaskFormatter("#"); 
    deckLevelEntry.setPlaceholderCharacter('_'); 

    deckLevelEntryField = new JFormattedTextField(deckLevelEntry); 
    detailsPanel.add(deckLevelEntryField); 
    wholeFramePanel.add(detailsPanel); 
    frame3.add(wholeFramePanel); 
    frame3.setVisible(true); 
    } catch (Exception ex) { 
    } 

但是,是有辦法,如果是的話怎麼樣,設置要輸入的最大數值?通過這個我的意思是我想要在JFormattedTextField:1,2,3和4中接受以下值。高於4的任何東西都不應該被允許輸入。這同樣適用於0

+1

考慮。 – 2015-01-31 20:48:07

+0

順便說一下''catch(Exception ex){}'至少轉儲堆棧跟蹤。我希望每一個聲稱他們的代碼「沒有錯誤地運行」的人都有一美元,只是爲了認識到它有錯誤而被完全忽略。 – 2015-01-31 20:50:04

+0

*「1,2,3和4.任何大於4的值不應該被允許輸入,這同樣適用於0的值。」*但是對於只有4個值,它可能更好地表示在「JList」或「JComboBox '。如果需要跟蹤用戶實際*做出選擇,請添加第5個「選擇碼頭」。 – 2015-01-31 20:55:46

回答

2

使用這個值:使用`JSpinner`代替

NumberFormatter nf = new NumberFormatter(); 
nf.setMinimum(new Integer(30)); 
nf.setMaximum(new Integer(70)); 
final JFormattedTextField field = new JFormattedTextField(nf);