JavaFX2.0 滑动条Slider.doc_第1页
JavaFX2.0 滑动条Slider.doc_第2页
JavaFX2.0 滑动条Slider.doc_第3页
JavaFX2.0 滑动条Slider.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Slider类呈现一个控件来显示和回应一个范围的数值。该控件包括一个轨道和一个可以拖动的滑标,也包含刻度和刻度标记来指示数值。Figure 15-1展示了一个滑动条并指明了其主要元素。Figure 15-1 Elements of a SliderDescription of Figure 15-1 Elements of a Slider创建Slider花点时间看下Example 15-1中的代码,它产生了一个Figure 15-1展示的滑动条。Example 15-1 Creating a SliderSlider slider = new Slider(); slider.setMin(0); slider.setMax(100); slider.setValue(40); slider.setShowTickLabels(true); slider.setShowTickMarks(true); slider.setMajorTickUnit(50); slider.setMinorTickCount(5); slider.setBlockIncrement(10);setMin和setMax方法分布定义了滑动条呈现的最小值和最大值。setValue方法指定了滑动条的当前值,当然必须在最小值和最大值之间。使用该方法来定义应用启动后滑标的位置。两个布尔方法setShowTickMarks和setShowTickLabels定义了滑动条的视觉外观。在Example 15-1中,刻度和数值显示了。另外,大刻度之间的单元距离设置为50,大刻度直接的小刻度数量定义为5。把setSnapToTicks方法设为true来保持滑标总和刻度对其。setBlockIncrement方法定义了用户点击轨道时滑标移动的距离。Example 15-1中该值是10,就是说当用户点击轨道时,滑标会向点击方向移动10单位。在图形应用中使用滑动条现在看一下Figure 15-2。该应用使用了3个滑动条来白哦几图片的属性。每个滑动条调整一个特定的视觉特点:透明度、褐色调、伸缩比例。Figure 15-2 Three SlidersDescription of Figure 15-2 Three Sliders Example 15-2shows the source code of this application.Example 15-2 Slider Sampleimport javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.Slider; import javafx.scene.effect.SepiaTone; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.GridPane; import javafx.scene.paint.Color; import javafx.stage.Stage; public class Main extends Application final Slider opacityLevel = new Slider(0, 1, 1); final Slider sepiaTone = new Slider(0, 1, 1); final Slider scaling = new Slider (0.5, 1, 1); final Image image = new Image(getClass().getResourceAsStream( cappuccino.jpg) ); final Label opacityCaption = new Label(Opacity Level:); final Label sepiaCaption = new Label(Sepia Tone:); final Label scalingCaption = new Label(Scaling Factor:); final Label opacityValue = new Label( Double.toString(opacityLevel.getValue(); final Label sepiaValue = new Label( Double.toString(sepiaTone.getValue(); final Label scalingValue = new Label( Double.toString(scaling.getValue(); final static Color textColor = Color.WHITE; final static SepiaTone sepiaEffect = new SepiaTone(); Override public void start(Stage stage) Group root = new Group(); Scene scene = new Scene(root, 600, 400); stage.setScene(scene); stage.setTitle(Slider Sample); scene.setFill(Color.BLACK); GridPane grid = new GridPane(); grid.setPadding(new Insets(10, 10, 10, 10); grid.setVgap(10); grid.setHgap(70); final ImageView cappuccino = new ImageView (image); cappuccino.setEffect(sepiaEffect); GridPane.setConstraints(cappuccino, 0, 0); GridPane.setColumnSpan(cappuccino, 3); grid.getChildren().add(cappuccino); scene.setRoot(grid); opacityCaption.setTextFill(textColor); GridPane.setConstraints(opacityCaption, 0, 1); grid.getChildren().add(opacityCaption); opacityLevel.valueProperty().addListener(new ChangeListener() public void changed(ObservableValue ov, Number old_val, Number new_val) cappuccino.setOpacity(new_val.doubleValue(); opacityValue.setText(String.format(%.2f, new_val); ); GridPane.setConstraints(opacityLevel, 1, 1); grid.getChildren().add(opacityLevel); opacityValue.setTextFill(textColor); GridPane.setConstraints(opacityValue, 2, 1); grid.getChildren().add(opacityValue); sepiaCaption.setTextFill(textColor); GridPane.setConstraints(sepiaCaption, 0, 2); grid.getChildren().add(sepiaCaption); sepiaTone.valueProperty().addListener(new ChangeListener() public void changed(ObservableValue ov, Number old_val, Number new_val) sepiaEffect.setLevel(new_val.doubleValue(); sepiaValue.setText(String.format(%.2f, new_val); ); GridPane.setConstraints(sepiaTone, 1, 2); grid.getChildren().add(sepiaTone); sepiaValue.setTextFill(textColor); GridPane.setConstraints(sepiaValue, 2, 2); grid.getChildren().add(sepiaValue); scalingCaption.setTextFill(textColor); GridPane.setConstraints(scalingCaption, 0, 3); grid.getChildren().add(scalingCaption); scaling.valueProperty().addListener(new ChangeListener() public void changed(ObservableValue ov, Number old_val, Number new_val) cappuccino.setScaleX(new_val.doubleValue(); cappuccino.setScaleY(new_val.doubleValue(); scalingValue.setText(String.format(%.2f, new_val); ); GridPane.setConstraints(scaling, 1, 3); grid.getChildren().add(scaling); scalingValue.setTextFill(textColor); GridPane.setConstraints(scalingValue, 2, 3); grid.getChildren().add(scalingValue); stage.show(); public static void main(String args) launch(args); ImageView对象的不透明度由第一个滑动条改变,叫opacityLevel。SepiaTone效果的改变由sepiaTone滑动条控制。第三个滑动条定义了放大倍数,调用的是s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论