首页 JavaFX20开关按钮ToggleButton

JavaFX20开关按钮ToggleButton

举报
开通vip

JavaFX20开关按钮ToggleButtonJavaFX20开关按钮ToggleButton ToggleButton类代表了可以通过JavaFX API创建的另一类按钮。 2个或更多的这种按钮被加入一个组中,但是 每次只能有一个被选中,或者一个都没有。 Figure 5-1是在一个组中有3个开关按钮的应用截图。这个应 用根据哪个开关按钮别按下来决定绘制何种颜色的矩形。 Figure 5-1 Three Toggle Buttons Description of "Figure 5-1 Three Toggle Buttons" 创建Toggle ...

JavaFX20开关按钮ToggleButton
JavaFX20开关按钮ToggleButton ToggleButton类代表了可以通过JavaFX API创建的另一类按钮。 2个或更多的这种按钮被加入一个组中,但是 每次只能有一个被选中,或者一个都没有。 Figure 5-1是在一个组中有3个开关按钮的应用截图。这个应 用根据哪个开关按钮别按下来决定绘制何种颜色的矩形。 Figure 5-1 Three Toggle Buttons Description of "Figure 5-1 Three Toggle Buttons" 创建Toggle Button 可以通过ToggleButton类的3个构造方法的任意一个来创建开关按钮。见Example 5-1. Example 5-1 Creating Toggle Buttons //A toggle button without any caption or icon ToggleButton tb1 = new ToggleButton(); //A toggle button with a text caption ToggleButton tb2 = new ToggleButton("Press me"); //A toggle button with a text caption and an icon Image image = new Image(getClass().getResourceAsStream("icon.png")); ToggleButton tb3 = new ToggleButton ("Press me", new ImageView(image)); ToggleButton类继承了Labeled类,因而你可以为其指定文本标题、图像、文本加图像。可以使用Labeled 类的setText 和setGraphic方法来给开关按钮指定文本和图像。 在代码中定义了开关按钮后,就可以把它们放进组中并指定特定的行为。 把Toggle Button加入组 ToggleButton类的实现和RadioButton类实现相当类似。不过和单选框不同的是,开关按钮并不 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 每次必须 最少有一个按钮被选中在组中。也就是说,点击选中的开关按钮会使其取消选中,但是点击组中的单选按 钮没任何反应。 t花点时间看下 Example 5-2中的代码吧. Example 5-2 Combining Toggle Buttons in a Group final ToggleGroup group = new ToggleGroup(); ToggleButton tb1 = new ToggleButton("Minor"); tb1.setToggleGroup(group); tb1.setSelected(true); ToggleButton tb2 = new ToggleButton("Major"); tb2.setToggleGroup(group); ToggleButton tb3 = new ToggleButton("Critical"); tb3.setToggleGroup(group); Example 5-2创建了3个开关按钮并把它们加入开关组中。tb1调用了setSelected方法,所以应用打开后 它会被按下。但是,你也可以按起Minor按钮使得没有任何开关按钮被按下。见 Figure 5-2. Figure 5-2 Three Toggle Buttons in a Group Description of "Figure 5-2 Three Toggle Buttons in a Group" 一般使用开关按钮的组来为每个按钮分配特定行为。下一部分将解释如何使用这些开关按钮改变矩形的颜 色。 设置行为 ToggleButton类从Node 类继承了setUserData方法,该方法可以让你给任意选中的选项赋特定的值。 在 Example 5-3中,用户数据指明了要用什么颜色来绘制矩形。 Example 5-3 Setting User Data for the Toggle Buttons tb1.setUserData(Color.LIGHTGREEN); tb2.setUserData(Color.LIGHTBLUE); tb3.setUserData(Color.SALMON); final Rectangle rect = new Rectangle(145, 50); final ToggleGroup group = new ToggleGroup(); group.selectedToggleProperty().addListener(new ChangeListener(){ public void changed(ObservableValue ov, Toggle toggle, Toggle new_toggle) { if (new_toggle == null) rect.setFill(Color.WHITE); else rect.setFill( (Color) group.getSelectedToggle().getUserData() ); } }); ChangeListener对象检查了组中被按下的开关。如果没有开关按钮被按下,矩形就用白色绘制。如果某个按钮被 按下,getSelectedToggle和getUserData方法会连续调用来返回一种颜色绘制矩形。 比如用户按下了tb2按钮, setSelectedToggle().getUserData()的调用返回 Color.LIGHTBLUE结果如 图 Figure 5-3. Figure 5-3 Using Toggle Buttons to Paint a Rectangle Description of "Figure 5-3 Using Toggle Buttons to Paint a Rectangle" 查看 ToggleButtonSample.java文件检查应用的完整代码。 美化Toggle Button 可以通过为开关按钮应用CSS来改善应用的视效。在JavaFX 2.0应用中使用CSS和在HTML中使用几乎一样,因为它们都基于相同的CSS规范。Example 5-4使用setStyle方法改变了开关按钮的 -fx-base CSS熟悉。 Example 5-4 Applying CSS Styles to Toggle Buttons tb1.setStyle("-fx-base: lightgreen;"); tb2.setStyle("-fx-base: lightblue;"); tb3.setStyle("-fx-base: salmon;"); 程序中加入这些代码后开关按钮的变化见 Figure 5-4. Figure 5-4 Painted Toggle Buttons Description of "Figure 5-4 Painted Toggle Buttons" 你可以尝试ToggleButton类的其他CSS属性,或者应用动画、转换、 JavaFX API中的各种视效。
本文档为【JavaFX20开关按钮ToggleButton】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:43KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-10-25
浏览量:36