Javaのスイング - JSliderの上のマーカーを描きます
質問
私はハイライト表示機能を提供するためにJSliderのから継承プログレスバーを持っています。 ハイライトは点(とカラー)でスライダに加えることができ、これらは、次いで、コントロール上に塗布されています。次のように:
http://img101.imageshack.us/img101/7608/sliderexample.png の
問題は、私が正しい場所にのハイライトのを得ることができないということです、彼らはマーカーと同じ場所にする必要があります。私はまた、マーカーの開始と終了場所に左右のマージンを取得する方法を知りません。
各マーカーの座標を取得するために、とにかくありますか?それとも、このタスクを実行するより良い方法はありますか?
多くの感謝!
解決
これは、ルックアンドフィールに依存しており、ユーザーはいくつかの非標準のL&Fを使用する場合、任意のマーカーが全く存在しないことを良いチャンスがあります。あなたは、JSliderのとするSliderUIの両方に触れることがありので、実際には、あなたの問題は、機能性とグラフィック実現の延長でもあります。
次の方法に注意してください。
javax.swing.JSlider.getMajorTickSpacing()
javax.swing.JSlider.getMinorTickSpacing()
また、それは、javax.swing.plaf.SliderUI
とそれを拡張するクラスに探すために役立つことがあり、特に
javax.swing.plaf.basic.BasicSliderUI.paintTicks(java.awt.Graphics)
javax.swing.plaf.basic.BasicSliderUI.xPositionForValue(int)
所属していません StackOverflow