相关疑难解决方法(0)

使JSpinner只读取数字,但也检测退格

我正在尝试创建一个只接受数字的JSpinner,但我也想让它读取/响应退格.

public class test {
    JFrame frame;
    JPanel panel;
    JSpinner spinner;

    public test()
    {
        frame = new JFrame("test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(200,200));

        panel = new JPanel();

        SpinnerNumberModel numSpin = new SpinnerNumberModel(10, 0,1000,1);
        spinner = new JSpinner(numSpin);
        JFormattedTextField txt = ((JSpinner.NumberEditor) spinner.getEditor()).getTextField();
        ((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);
        panel.add(spinner);

        frame.setContentPane(panel);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);

    }
    public static void main(String[] args)

    {
        test test = new test();
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码只能编号,但这不允许我退格.我在这个网站上找到了一些例子,但是他们是为C写的.

java swing jspinner jformattedtextfield

3
推荐指数
1
解决办法
2837
查看次数

标签 统计

java ×1

jformattedtextfield ×1

jspinner ×1

swing ×1