我工作的一個數獨解算器,我試圖限制數字的用戶可以進入細胞以及ONLY能也輸入數字,目前它的量接受信件。目前它的工作原理是這樣的:如果用戶輸入「11125455876」,它將只使用輸入的最後一個數字(在本例中爲「6」)。我想限制用戶輸入單個單元格的數量爲1,只接受數字1-9。我不確定我能做到這一點。所以也許它會覆蓋前面的數字或者某個東西,如果我按下一個字母鍵作爲「a」,什麼都不會發生。數限制輸入的JTextField
這裏是我的代碼:
public PanelGUI(int size) {
super(size);
NumberFormat f = NumberFormat.getInstance();
f.setMaximumIntegerDigits(1);
f.setMinimumIntegerDigits(0);
f.setGroupingUsed(false);
cells = new JTextField[size][size];
panel.setLayout(new GridLayout(size, size));
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
cells[i][j] = new JFormattedTextField(f);
cells[i][j].setEditable(true);
cells[i][j].setFont(boldFont);
cells[i][j].setBorder(BorderFactory.createMatteBorder(1, 1, 1,
1, Color.white));
cells[i][j].setHorizontalAlignment(JTextField.CENTER);
panel.add(cells[i][j]);
}
}
}
如你我目前使用number format
看到。
使用['DocumentFilter'] (http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/text/DocumentFilter.html)來限制輸入。 – 2013-04-10 16:15:46
@Extreme Coders你能寫一個關於它在我的情況下應該是什麼樣子的答案嗎?我對此不太瞭解。什麼需要改變? – Rob 2013-04-10 16:20:43
http://stackoverflow.com/questions/3519151/how-to-limit-the-number-of-characters-in-jtextfield – herinkc 2013-04-10 16:24:13