这里有一个简单的 Java 问题。我制作了一个自定义 JSlider,它在用户将 slider 移动到的最后位置绘制正方形。我们重写 PaintComponent 并绘制相对于 slider 大小的正方形。当您正确使用 slider 时,一切都会正常工作。但是,当您调整框架大小时,就会出现问题。 slider 变大, slider 调节器随之移动,但我们放置的方 block 不会相对于 slider 移动。当我们调整框架大小时,我们应该使用 JSlider 中的哪个函数来重新绘制?
我试图将 JSlider 代码与框架代码分开,因此我们希望用户能够使用我们的自定义 JSlider,而不是尝试自己处理此调整大小功能。对于我们应该使用哪种方法有什么帮助吗?
谢谢。
最佳答案
您可以添加 ComponentListener到您的 slider ,在 componentResized
上重新绘制它。
slider.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
e.getComponent().repaint();
}
}
关于java - 如何在调整自定义 JSlider 大小时重新绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333631/