这里简单的Java问题。我制作了一个自定义JSlider,它在用户将滑块移动到的最后位置绘制正方形。我们覆盖paintcomponent并绘制相对于滑块大小的方块。正确使用滑块时一切正常。调整框架大小时会出现问题。滑块变大,滑块调整器随之移动,但我们放置的方块不会相对于滑块移动。当我们调整框架大小时,我们应该使用JSlider来重绘哪个函数?
我试图将JSlider代码与框架代码分开,因此我们希望用户能够使用我们的自定义JSlider,而不是试图自己处理这个调整大小功能。关于我们应该使用哪种方法的任何帮助?
感谢。
答案 0 :(得分:1)
您可以在滑块上添加ComponentListener,在componentResized
上重新绘制它。
slider.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
e.getComponent().repaint();
}
}