在 JSpinner 中禁用数字分组

发布于 2024-11-11 13:48:54 字数 615 浏览 3 评论 0原文

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

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

...MonospacedDefaultPort 是静态常量。

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

I needed a widget to select a TCP/UDP port, so I wrote the following:

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

...Monospaced and DefaultPort being static constants.

I would like to remove the digit grouping characters from the resulting display. For example, the default of 55024 displays as "55,024", where I would like it to be "55024". I know that straight NumberFormat, as I might use with JFormattedTextField, has a setGroupingUsed(boolean) method for this purpose. Is there anything like this for JSpinner? Should I subclass SpinnerNumberModel?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦行七里 2024-11-18 13:48:54

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

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

或者更明确:

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

Set the format of the number editor on your spinner:

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

or to be more explicit:

JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner);
editor.getFormat().setGroupingUsed(false);
spinner.setEditor(editor);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文