如何解决可以访问Swing的JSlider的Thumb / Handle / Knob
| 基本上,我想显示运动中(通过鼠标或键盘)滑块手柄指向的当前值。通过添加新的ChangeListener和重写stateChanged方法,可以轻松获取当前值。但是我似乎无法获取手柄的当前位置。 我可以咬一下子弹并在固定的位置创建标签并不断更新它,但是我想在手柄上方(或下方)显示该值。解决方法
这不是一个好的或非常灵活的解决方案,但也许您可以实现自己的
SliderUI
。例如。使用已经定义的BasicUI
,您可以访问字段thumbRect
,其中包含您需要的值。
slider.setUI(new BasicSliderUI(slider) {
public void paintThumb(Graphics g) {
super.paintThumb(g);
g.setColor(Color.black);
g.drawString(Integer.toString(slider.getValue()),thumbRect.x,thumbRect.y + thumbRect.height);
}
});
, 如果选择“ Nimbus外观”,则可以在相关的UI默认值中指定实时显示值:
UIManager.getLookAndFeelDefaults().put(\"Slider.paintValue\",true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。