java - JSlider 标签中的工具提示

标签 java swing tooltip jslider

我想创建一个带有标签的 JSlider,它有一个工具提示。

JSlider slider = new JSlider();
JLabel label = new JLabel("First");

slider.setPaintLabels(true);
Hashtable<Integer, JLabel> labels = new Hashtable<Integer, JLabel>();

label.setToolTipText("Tooltip");

labels.put(new Integer(0), label);
slider.setLabelTable(labels);

但是,这段代码不起作用。我认为这是因为我们可以向 JSlider 添加工具提示,并且它“覆盖”了所有其他内容。

有什么方法可以解决我的问题吗?

最佳答案

您需要覆盖 getToolTipText(MouseEvent) 方法。

然后在代码中您需要确定鼠标在 slider 中的位置以确定要显示的文本。我从未尝试过,但您可以为此使用 BasicSliderUI。它的方法 valueForXPositionvalueForYPosition 可能会有所帮助。

关于java - JSlider 标签中的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7363761/

相关文章:

java - 从命令行执行 Java 程序时收到 "wrong name"NoClassDefFoundError

java.lang.NullPointerException 浓度游戏

java - 如何将值从文本字段传递到对象或文件(可序列化文件)?

c# - 滚动查看器和工具提示

javascript - 删除 Javascript 工具提示偏移以获得更好的悬停增长效果

java - org.junit.contrib.java.lang.system.StandardOutputStreamLog 在哪里?

java - 在Java中,当在更高级别调用函数时如何显示函数参数?

Java - 读取文件时出现问题

java - JTable 输入关键操作

c# - 将 InputGestureText 显示为 Button 的工具提示