更改显示标签的JSlider的?
题
我有一个JSlider的0分钟和10,000的最大值。我已经设定在1000主刻度标记。如果我现在画的标签,他们将显示为0,1000,2000,3000,4000,等等。我想显示将是0,1,2,3,4,5,等会是什么要完成这一任务的好办法?
解决方案
修改
另外,你可以依靠预定义的标签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));
}
其他提示
您可以使用JSlider.setLabelTable(Dictionary)
设置为你希望呈现不同的价值观特定标签; e.g。
JSlider slider = ...
Dictionary dict = new Hashtable();
for (int i=0; i<=10000; i += 1000) {
dict.put(i, new JLabel(Integer.toString(i / 1000)));
}
slider.setLabelTable(dict);
(基于先前的评论编辑。)
不隶属于 StackOverflow