gpt4 book ai didi

Java Swing - 在 JSlider 上绘制标记

转载 作者:行者123 更新时间:2023-12-02 08:34:09 26 4
gpt4 key购买 nike

我有一个进度条,它继承自 JSlider 以提供突出显示功能。 突出显示可以添加到 slider 的某个点(和颜色),然后将它们绘制到控件上。如下:

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)

关于Java Swing - 在 JSlider 上绘制标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2432202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com