如何重新调整自定义JSlider的大小

时间:2012-11-11 17:36:06

标签: java resize widget jcomponent jslider

这里简单的Java问题。我制作了一个自定义JSlider,它在用户将滑块移动到的最后位置绘制正方形。我们覆盖paintcomponent并绘制相对于滑块大小的方块。正确使用滑块时一切正常。调整框架大小时会出现问题。滑块变大,滑块调整器随之移动,但我们放置的方块不会相对于滑块移动。当我们调整框架大小时,我们应该使用JSlider来重绘哪个函数?

我试图将JSlider代码与框架代码分开,因此我们希望用户能够使用我们的自定义JSlider,而不是试图自己处理这个调整大小功能。关于我们应该使用哪种方法的任何帮助?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以在滑块上添加ComponentListener,在componentResized上重新绘制它。

slider.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        e.getComponent().repaint();
    }
}