如何删除JSlider上方的文本

时间:2010-09-20 19:41:21

标签: java swing

我的GUI中有JSlider,从0到100.出于某种原因,滑块位置上方有文本显示滑块的当前值,它跟随我的滑块。即,如果我将滑块移动到一半,“滑块”当前位于上方的“50”处。但是,我无法弄清楚该文本字段的名称是什么,我所知道的只是滑块的一部分。

我想删除它或者能够将其更改为其他内容,我该怎么做?

4 个答案:

答案 0 :(得分:4)

我会对Etaoin的回答发表评论,但我还没有它的声誉。

无论如何,在实例化JSlider之前调用它:

UIManager.put("Slider.paintValue", false);

注意paintValue中的大写'V'。

此外,要打印UIManager当前设置的所有有趣内容,请在实例化UIManager之后的任何位置输入此代码:

Iterator<Entry<Object, Object>> it = UIManager.getDefaults().entrySet().iterator();
while(it.hasNext())
    System.out.println(it.next());

答案 1 :(得分:3)

这让我对项目感到困扰,我找到了以下解决方法。在实例化JSlider之前调用一次 - 我把它放在我的JPanel子类的static块中:

UIManager.put("Slider.paintValue", false);

那会照顾它。

答案 2 :(得分:0)

你的意思是工具提示吗?它是一个出现在滑块控件上的小盒子,如果你抓住滑块,它会跟着你的鼠标移动吗? 如果是这种情况,您只需拨打setToolTipText( null )即可将其停用,或使用setToolTipText( "My Text" )覆盖该文字。

答案 3 :(得分:-1)

正如我所看到的,JSlider中有一个带有Dictionary参数的setLabelTable方法。 我没有使用它,但我想如果你将它设置为空字典(或每个可能值的空标签),那么就不会出现任何标签。

更好的解决方案是setPaintLabels使用false值。