1
我想提出一個小的數獨遊戲的GUI輸入和使用的JFormattedTextFields的MaskFormatter:爪哇 - JFormattedTextField上不允許在第一次嘗試
formatter = new MaskFormatter(s);
formatter.setValidCharacters("123456789");
但我的問題是,當窗戶打開,我點擊到其中一個字段中,不可能輸入內容,它只能在第二次嘗試時使用,即當我點擊另一個字段,然後再返回到第一個字段時。
它是否像它必須失去焦點首先激活?
如果我的一些代碼是必需的,請告訴我。
這裏是什麼樣子
編輯:問題在這裏:
if (guessMatrix[i][j] == 0) {
tfM[j][i].setBackground(Color.yellow);
tfM[j][i].setText("");
沒有的setText( 「」),它完美的罰款。
'如果我的一些代碼是必要的,請讓我know' - 發佈[SSCCE(http://sscce.org/)演示該問題。有機會,當你創建SSCCE時,你會發現問題。您不需要調用requestFocusInWindow(),因爲焦點會自動轉到第一個組件。 – camickr
@camickr您說得對,我剛剛發現問題,我將編輯我的文章 –
另請參閱此[備用](http://stackoverflow.com/a/4151403/230513)方法。 – trashgod