JSlider Thumb上方的标签

时间:2014-07-22 12:57:40

标签: java swing location jlabel jslider

我正在尝试在滑块Component(坐标方式)中的JSlider Thumb上方添加一个Label。因此,我尝试在滑块的父组件中执行以下操作:

        this.setLayout(null);
        this.add(slider, 0);
        slider.setLocation(0, 0);
        JLabel label = new JLabel("test");
        label.setLocation(1000,0);
        label.setOpaque(false);
        this.setOpaque(false);
        this.add(label);
        revalidate();
        repaint();

不幸的是,标签总是在x:0,y:0处可见,但label.getLocation()返回x:1000,y:0(父组件对于给定的坐标足够大)。

有人知道导致这种情况或我如何解决这个问题的原因是什么?或者可能是另一个建议在JSlider Thumb之上添加标签?

1 个答案:

答案 0 :(得分:1)

我不会使用绝对位置,请使用布局管理器!

尝试使用

this.setLayout(new GridLayout(2,0)); //The JFrame (or JPanel) is splitted right in two "chambers"
this.add(new JSlider());
this.add(new JTextField());