java - 更改 JSlider 的可显示标签?

标签 java swing division jslider

我有一个 JSlider,最小值为 0,最大值为 10,000。我将主要刻度标记设置为 1,000。如果我现在绘制标签,它们将显示为 0、1000、2000、3000、4000 等。我希望显示的是 0、1、2、3、4、5 等。什么会是完成这项任务的好方法吗?

最佳答案

使用 JSlider.setLabelTable(Dictionary)

编辑

或者,您可以依赖预定义的标签 UI,只需更改标签文本:

    Enumeration e = jSlider.getLabelTable().keys();

    while (e.hasMoreElements()) {
        Integer i = (Integer) e.nextElement();
        JLabel label = (JLabel) jSlider.getLabelTable().get(i);
        label.setText(String.valueOf(i / 1000));          
    }

关于java - 更改 JSlider 的可显示标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125619/

相关文章:

Java:repaint()方法,为什么脾气暴躁?

java - Java中的快速整数除法

java - 无法以编程方式触发点击事件

java - 如何减少 3 个 Swing 复选框之间的空间?

c# - 在 .NET 中除两位小数时出现溢出异常

sql - 两列之和之间的除法

Java 序列化对象与非序列化对象

java - JUnit - 使用可重用函数进行测试;有效性

用于 Oracle 访问的 Java 代码在执行期间失败。我该如何修复我的代码?

java - 如何以正确的方式定期运行代码