Java 如何重新绘制自定义JSlider的大小

Java 如何重新绘制自定义JSlider的大小,java,resize,widget,jcomponent,jslider,Java,Resize,Widget,Jcomponent,Jslider,这里有一个简单的Java问题。我制作了一个定制的JSlider,它在用户移动滑块的最后一个位置绘制正方形。我们覆盖paintcomponent并绘制与滑块大小相关的正方形。正确使用滑块时,一切正常。但是,调整框架大小时会出现问题。滑块变大,滑块调节器也随之移动,但我们放置的方块不会相对于滑块移动。当我们调整框架大小时,应该使用JSlider中的哪个函数来重新绘制 我试图将JSlider代码与框架代码分开,因此我们希望用户能够使用我们的自定义JSlider,而不是试图自己处理这个调整大小的功能。关

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

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

谢谢。

您可以在滑块中添加一个,在
组件Resistized
上重新绘制

slider.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        e.getComponent().repaint();
    }
}
您可以向滑块中添加一个,以便在
componentresistized
上重新绘制它

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