DOC-03-18 滑动条(Slider)

在本章中你将会学习如何在JavaFX应用程序中使用滑动条(Slider)来显示一个区间范围内的数据并与之交互。

Slider控件由一个滑轨(Track)和一个可拖放的滑块(Thumb)组成。它也可以包括多个刻度标记(Tick
Mark)和刻度标签(Tick Label),用于表示数值区间范围。图18-1展示了一个典型的滑块及其主要组成元素。

18–1 滑块的主要组成元素

3-18-1 slider-details

创建一个Slider

不妨花点时间看看例18-1中的代码片段,它产生了一个如图18-1中所示的Slider。

18–1 创建一个Slider

setMin和SetMax方法分别定义了Slider所表示的数据的最小和最大值。setValue方法指定了Slider的当前值,当前值应该永远比最大值要小并且比最小值要大。在程序启动时将使用此方法来定义滑块的所在位置。

setShowTickMarks和setShowTickLabels方法都需要传递Boolean型参数,它们定义了Slider的外观。在例18-1中,刻度的Mark和Label都被启用了。另外主刻度Mark之间的单位距离被设置为了50,而每两个主刻度之间都被设置分为了5个小刻度。你可以调用setSnapToTicks方法并设置参数值为true,这样可以使Slider所表示的值永远对齐到刻度标记之上。

setBlockIncrement方法定义了当用户点击Track时Thumb的移动距离。在例18-1中该值被设置为了10,也就是说每次用户点击Track时,Thumb将会向点击位置的方向移动10个单元。

在图片展示程序中使用Slider

下面来试试例18-2。这个应用程序使用了3个Slider来编辑图片的渲染效果。每个Slider会调整一个特定的视觉效果:不透明度(Opacity)、棕褐色调值(Sepia Tone)、缩放因子(Scaling Factor)。

18–2  带有三个Slider的程序

3-18-2 slider-cappuccino

例18–2 展示了这个应用程序的源码。

18–2 Slider样例

ImageView对象的opacity属性根据第一个名为opacityLevel的Slider的值而改变。SepiaTone效果的等级根据名为sepiaTone的Slider而改变。第三个Slider定义了图片的缩放因子,它的当前值被传给了setScaleX和setScaleY方法。

例18-3中的代码片段展示了将Slider类的getValue方法返回的double类型的值转换成String类型。它同时将这个值格式化成一个带有两位小数的float数字来展示Slider的值。

18–3 格式化Slider的展示值

如果要进一步改进Slider的外观(L&F),可以考虑向其添加视觉特效或CSS样式。

相关的API文档

    · Slider

    · SepiaTone

 

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2015/04/doc03_slider/
百度已收录