本文介绍了避免 JSpinner 取信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有 SpinnerNumberModeljSpinner,如下所示:

I have a jSpinner with a SpinnerNumberModel like this:

spinnerModelFix = new SpinnerNumberModel(0, 0, 65535, 1);
JSpinner fixedValueSpinner = new JSpinner(spinnerModelFix);

我只想在微调器中显示整数,这样如果用户插入字母,它们就不会显示.

I just want to show Integers in the spinner, so that if the user insert letters they aren't shown.

我想我应该扩展 SpinnerNumberModel覆盖 fireStateChanged() 方法...

I thought I should extends SpinnerNumberModel and override the fireStateChanged() method...

但我不确定我需要在那个方法中做什么.

But I'm not sure what I need to do in that method.

谁能给我一些提示?

推荐答案

  • 是的,解决方法很简单,

    • yes is possible and workaround is quite simple,

      有两种方法可以做到,必须从 JSpinner 派生 JTextFieldJFormattedTextField

      there are two ways how to do it, have to derive JTextField or JFormattedTextField from JSpinner,

      然后添加

      a) DocumentListener

      b) DocumentFilter

      我认为使用 DocumentFilter 是最简单的代码解决方法,更好,也许更安全

      这篇关于避免 JSpinner 取信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 15:52