我想创建一个带有标签的 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
。它的方法 valueForXPosition
和 valueForYPosition
可能会有所帮助。
关于java - JSlider 标签中的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7363761/