首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

(通译)第十二回 JavaFX2.0 复选框CheckBox

2012-09-02 
(翻译)第十二回 JavaFX2.0 复选框CheckBox原文地址http://download.oracle.com/javafx/2.0/ui_controls/ch

(翻译)第十二回 JavaFX2.0 复选框CheckBox

原文地址http://download.oracle.com/javafx/2.0/ui_controls/checkbox.htm

?

CheckBox类让你可以在应用中创建复选框。尽管复选框看起来很想单选框,但是它们并不能被放置进一个开关组中来实现很多选项的选择。你可以复习一下前面关于Radio Button 和Toggle Button相关的内容。

Figure 6-1Figure 6-1 Checkbox Sample

(通译)第十二回 JavaFX2.0 复选框CheckBox
Description of "Figure 6-1 Checkbox Sample"

?

创建Checkbox

Example 6-1//Example 6-1 Creating Checkboxes//A checkbox without a caption CheckBox cb1 = new CheckBox(); //A checkbox with a string caption CheckBox cb2 = new CheckBox("Second"); cb1.setText("First"); cb1.setSelected(true);

?

创建复选框后,就可以使用JavaFX API中的方法对它们进行设置。在Example 6-1定义状态

复选框能被定义为明确或不明确。被定义为明确后就可以被选中或取消选中,但是不明确的话就不能被选中或取消选中。结合使用CheckBox类的setSelectedTable 6-1 States of a Checkbox

Property ValuesCheckbox Appearance

INDETERMINATE


INDETERMINATE


INDETERMINATE



当复选框要呈现多种状态的UI元素时要为它们指定三种状态,如"Yes", "No", "Not Applicable"。CheckBox设置行为

Example 6-2中的代码块创建了三个复选框//Example 6-2 Setting the Behavior for the Checkboxesfinal String[] names = new String[]{"Security", "Project", "Chart"}; final Image[] images = new Image[names.length];final ImageView[] icons = new ImageView[names.length];final CheckBox[] cbs = new CheckBox[names.length]; for (int i = 0; i < names.length; i++) { final Image image = images[i] = new Image(getClass().getResourceAsStream(names[i] + ".png")); final ImageView icon = icons[i] = new ImageView();final CheckBox cb = cbs[i] = new CheckBox(names[i]); cb.selectedProperty().addListener(new ChangeListener<Boolean>() { public void changed(ObservableValue<? extends Boolean> ov, Boolean old_val, Boolean new_val) { icon.setImage(new_val ? image : null); } }); }

?

names这个数组使用了一个for循环来创建复选框和相应的图标。比如说,cbs[0]是第一个复选框,被分配了"Security"这个标题;同时image[0]接收了"Security.png"作为getResourceStream方法的文件名。如果一个特定的复选框被选中后,相应的图片就被分配成它的图标。如果一个复选框被取消选中,图标接收null图片所以没有图标分配。

Figure 6-2Figure 6-2 Checkbox Application in Action

(通译)第十二回 JavaFX2.0 复选框CheckBox
Description of "Figure 6-2 Checkbox Application in Action"

?

?

美化Checkbox

Figure 6-2//Example 6-3 Styling a Checkboxcb1.setStyle( "-fx-border-color: lightblue; " + "-fx-font-size: 20;" + "-fx-border-insets: -5; " + "-fx-border-radius: 5;" + "-fx-border-style: dotted;" + "-fx-border-width: 2;" );

?

新风格包括了一条浅蓝色点边框和一个扩大字体的标题。Figure 6-3Figure 6-3 Styled Checkbox

(通译)第十二回 JavaFX2.0 复选框CheckBox
Description of "Figure 6-3 Styled Checkbox"

要为应用中的所有复选框设置特定的风格,按照下面的步骤:

创建一个?.css文件;

在 .css文件中创建

?

?

?

?

?

热点排行
Bad Request.