⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wholenumberfield.java

📁 初级学习资料必读本
💻 JAVA
字号:
import javax.swing.*; import javax.swing.text.*; import java.awt.Toolkit;import java.text.NumberFormat;import java.text.ParseException;import java.util.Locale;public class WholeNumberField extends JTextField {    private Toolkit toolkit;    private NumberFormat integerFormatter;    public WholeNumberField(int value, int columns) {        super(columns);        toolkit = Toolkit.getDefaultToolkit();        integerFormatter = NumberFormat.getNumberInstance(Locale.US);        integerFormatter.setParseIntegerOnly(true);        setValue(value);    }    public int getValue() {        int retVal = 0;        try {            retVal = integerFormatter.parse(getText()).intValue();        } catch (ParseException e) {            // This should never happen because insertString allows            // only properly formatted data to get in the field.            toolkit.beep();        }        return retVal;    }    public void setValue(int value) {        setText(integerFormatter.format(value));    }    protected Document createDefaultModel() {        return new WholeNumberDocument();    }    protected class WholeNumberDocument extends PlainDocument {        public void insertString(int offs,                                  String str,                                 AttributeSet a)                 throws BadLocationException {            char[] source = str.toCharArray();            char[] result = new char[source.length];            int j = 0;            for (int i = 0; i < result.length; i++) {                if (Character.isDigit(source[i]))                    result[j++] = source[i];                else {                    toolkit.beep();                    System.err.println("insertString: " + source[i]);                }            }            super.insertString(offs, new String(result, 0, j), a);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -