可以访问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);
    

要回复问题请先登录注册