如何让JSliders只看到四肢

时间:2012-01-17 12:27:55

标签: java swing margin jslider

假设我有一个从0到100的水平JSlider。我想要做的是: - 将主要间距设置为10,将次要设置为5,但不应显示数字 - 应该可以看到四肢(0和100)的值 - 当我移动定位箭头时,我想在鼠标光标旁边有一个标签,告诉我实际值。

1 个答案:

答案 0 :(得分:1)

  

将主要间距设置为10,将次要设置为5,但数字不应为   可见 - 四肢(0和100)的值应该是可见的

这可以使用JSlider的一些方法轻松完成,例如

JSlider slider = new JSlider(JSlider.VERTICAL, 0, 100, 0);
slider.setMinorTickSpacing(5);
slider.setMajorTickSpacing(10);
slider.setPaintTicks(true);
Hashtable<Integer, JLabel> labels = new Hashtable<Integer, JLabel>();
labels.put(0, new JLabel("0"));
labels.put(100, new JLabel("100"));
slider.setLabelTable(labels);
slider.setPaintLabels(true);

  

当我移动定位箭头时,我希望旁边有一个标签   鼠标光标告诉我实际值。

您可以通过使用客户sliderUI并覆盖它的paintThumb方法来实现类似的功能。这不是你想要的,但你可以试试这个:

slider.setUI(new BasicSliderUI(slider) {
    public void paintThumb(Graphics g) {
        super.paintThumb(g);
        g.setColor(Color.RED);
        g.drawString(slider.getValue() + "", thumbRect.x, thumbRect.y + thumbRect.height);
    }
});