【问题标题】:Java slider with dial look and feel带有表盘外观的 Java 滑块
【发布时间】:2012-04-18 05:16:02
【问题描述】:

我试图创建一个 JSlider 对象,它的线条看起来像一条弧线,有最少数量的刻度线(尽管有些可能没有值),滑块指示器是一条从弧线中心绘制的简单线到当前选定的刻度线。看起来我可能必须扩展 BasicSliderUI 并覆盖各种绘制方法。是否已经有类似的示例,或者我是否从头开始创建此对象?

【问题讨论】:

  • 使用鼠标在 GUI 上进行直线拖动是一种自然的运动。但是“径向运动”不太自然,而且更难做到。为了您的用户,请放弃这个想法。
  • 你也可以看看jfreechart拨号图,提到here
  • 不幸的是,我不得不模仿现有的用户界面,出于某种原因,最初的设计师选择了这些表盘。我同意这是一个糟糕的用户界面,但这就是我所坚持的。虽然由于这是一个触摸屏界面,但线路可能没有您想象的那么大。

标签: java swing jslider


【解决方案1】:

这个example 说明了如何覆盖BasicSliderUIpaintTrack() 方法。看起来你可以画一个Arc2D 来获得你想要的效果。

【讨论】:

  • 更多关于渲染Arc2D的内容请见here
  • 使用滑块的唯一问题是标签看起来总是绘制在轨道下方。我实际上需要将它们画在线条上方。对于覆盖的数量,拥有我自己的组件可能更容易。只是我需要 setSnapToTicks(true) 的行为。这就是为什么我想从滑块开始。我已经找到了渐变绘制示例,这就是我在原型中使用的示例。
猜你喜欢
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多