当前位置: 首页 > 知识库问答 >
问题:

如何在调整自定义JSlider大小时重新绘制

商风华
2023-03-14

这里是简单的Java问题。我制作了一个自定义的JSlider,它在用户移动滑块的最后一个位置绘制方块。我们重写paintcomponent并绘制相对于滑块大小的方块。当你正确地使用滑块时,一切工作都很好。但是,当你调整框架的大小时,问题就会发生。滑块变大,滑块调节器随之移动,但是我们放置的方块相对于滑块不移动。当我们调整框架大小时,我们应该从JSlider中使用哪个函数来重新绘制?

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

共有1个答案

公羊瀚
2023-03-14

您可以将ComponentListener添加到您的滑块中,该滑块在componentresized上重新绘制它。

slider.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        e.getComponent().repaint();
    }
}
 类似资料:
  • 问题内容: 我在JFrame的底部中间保留了一个JButton。现在,每当我调整窗口大小时,都应根据新调整大小的窗口重新定位JButton(在新的中心)。谁能告诉我如何做到这一点。提前致谢。 问题答案: Swing中的组件根据框架的布局管理器进行渲染。默认的布局管理器是BorderLayout,它将框架分为五个逻辑部分:北(上),南(下),东(右),西(左)和中心(介于两者之间的所有内容)。默认情

  • 问题内容: 一旦我在代码中使用了渐变,在调整大小时就不会完成重新绘制,而在调整大小时 会得到类似的信息(已调整大小的黑色矩形,请参见下面的链接中的图像)。当我停止调整大小时,一切都会 再次绘制,但只有那时。 如果我不使用,;我会快速重画 http://gui-builder.com/C41142775162.rar 我尝试调整大小,尝试拖动鼠标时却 什么也没有。 这是一些SSCCE(对不起,我之前

  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 嗨,我猜我在问一个愚蠢的问题,但我真的对avd的事情感到困惑。首先,我想在三星Galaxy Ace上测试我的应用程序,因为我找不到该设备的实际模拟器。是否有在线可用的实际设备模拟器??? 我将其皮肤添加到AVD中,并使用以下配置: 目标:API 8级 SD卡: size: 512mb 皮肤:内置:HVGA 硬件:抽象LCD密度:160 在启动AVD的过程中,我选中了“缩放显示到真实大小”,并设置

  • 问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则

  • 本文向大家介绍Android自定义控件RatingBar调整字体大小,包括了Android自定义控件RatingBar调整字体大小的使用技巧和注意事项,需要的朋友参考一下 项目需要,做一个可以调整字体大小的控件,能在滑动或点击时改变选中的位置,效果图如下: 这是一个类似于RatingBar的控件,然而配置RatingBar的样式难以实现这样的效果,如选中的图案和上面的文字对齐。因此,有必要写一个自