我需要一个小部件来选择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显示为“5524”,我希望它为“55024”。我知道直接NumberFormat
,正如我可能与JFormattedTextField
一样,为此目的使用setGroupingUsed(boolean)
方法。 JSpinner
有这样的东西吗?我应该继承SpinnerNumberModel
?
答案 0 :(得分:15)
在微调器上设置数字编辑器的格式:
spinner.setEditor(new JSpinner.NumberEditor(spinner,"#"));
或更明确:
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner);
editor.getFormat().setGroupingUsed(false);
spinner.setEditor(editor);