9

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

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

...Monospaced并且DefaultPort是静态常量。

我想从结果显示中删除数字分组字符。例如,默认值 55024 显示为“55,024”,我希望它是“55024”。我知道 straight NumberFormat,正如我可能使用的那样JFormattedTextField,有setGroupingUsed(boolean)一种用于此目的的方法。有这样的事情JSpinner吗?我应该子类SpinnerNumberModel吗?

4

1 回答 1

16

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

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

或更明确地说:

JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner);
editor.getFormat().setGroupingUsed(false);
spinner.setEditor(editor);
于 2011-06-01T08:20:53.170 回答