在JSpinner中禁用数字分组

时间:2011-06-01 08:10:49

标签: java swing user-interface number-formatting jspinner

我需要一个小部件来选择TCP / UDP端口,所以我写了以下内容:

public static JSpinner makePortSpinner()
{
    final JSpinner spinner = new JSpinner(
            new SpinnerNumberModel( DefaultPort, 1024, 65535, 1 ) );
    spinner.setFont( Monospaced );
    return spinner;
}

... MonospacedDefaultPort是静态常量。

我想从结果显示中删除数字分组字符。例如,默认值55024显示为“5524”,我希望它为“55024”。我知道直接NumberFormat,正如我可能与JFormattedTextField一样,为此目的使用setGroupingUsed(boolean)方法。 JSpinner有这样的东西吗?我应该继承SpinnerNumberModel

1 个答案:

答案 0 :(得分:15)

在微调器上设置数字编辑器的格式:

spinner.setEditor(new JSpinner.NumberEditor(spinner,"#"));

或更明确:

JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner);
editor.getFormat().setGroupingUsed(false);
spinner.setEditor(editor);