第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將JTextField輸入限制為整數(shù)

將JTextField輸入限制為整數(shù)

ITMISS 2019-07-04 16:50:24
將JTextField輸入限制為整數(shù)我知道這個(gè)問題已經(jīng)問過無數(shù)次了,但我還是找不到一個(gè)簡單的解決辦法。我有一個(gè)JTextField,它只接受正整數(shù)作為輸入。我需要一種方法來確保這里沒有其他的輸入。我已經(jīng)有一個(gè)keyListener附加到這個(gè)控件。刪除此偵聽器要處理的其他代碼,我有以下內(nèi)容:       txtAnswer.addKeyListener(new KeyAdapter() {         @Override         public void keyPressed(KeyEvent e) {             int key = e.getKeyCode();             /* Restrict input to only integers */             if (key < 96 && key > 105) e.setKeyChar('');         };     });如您所見,我正在嘗試使用鍵碼來檢查剛才按下的鍵是否在整數(shù)范圍內(nèi)。這似乎很管用。但我想做的是,如果條目超出了這個(gè)范圍,就忽略它。密碼e.setKeyChar('')本來是用來處理這事的,但不起作用。代碼將編譯,但沒有可見的效果。有人能告訴我是否在正確的軌道上嗎?我能替換什么e.setKeyChar('')讓這件事成功嗎?還是我完全走錯(cuò)了方向?謝謝。
查看完整描述

3 回答

?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

您也可以使用JFormattedTextField,使用起來要簡單得多。例子:

public static void main(String[] args) {
    NumberFormat format = NumberFormat.getInstance();
    NumberFormatter formatter = new NumberFormatter(format);
    formatter.setValueClass(Integer.class);
    formatter.setMinimum(0);
    formatter.setMaximum(Integer.MAX_VALUE);
    formatter.setAllowsInvalid(false);
    // If you want the value to be committed on each keystroke instead of focus lost
    formatter.setCommitsOnValidEdit(true);
    JFormattedTextField field = new JFormattedTextField(formatter);

    JOptionPane.showMessageDialog(null, field);

    // getValue() always returns something valid
    System.out.println(field.getValue());}


查看完整回答
反對 回復(fù) 2019-07-04
  • 3 回答
  • 0 關(guān)注
  • 1088 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號