質問

基本的に、動いているときにスライダーハンドル(マウスまたはキーボードを介して)を指す現在の値を表示したいと思います。新しい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);
  }
});

他のヒント

場合 ニンバスのルックアンドフィール オプションであり、値のライブディスプレイは、関連するUIデフォルトで指定できます。

UIManager.getLookAndFeelDefaults().put("Slider.paintValue", true);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top