Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

从零开始学习JavaFX(10) 控件篇之CheckBox

2015年1月21日 8451点热度 0人点赞 0条评论

本文中将会讲述CheckBox的使用。

CheckBox通常跟RadioButton看起来很相似,不过加入同一个ToggleGroup的CheckBox允许多个选中,这是与RadioButton最大的区别。

创建CheckBox

//创建一个无文本的CheckBox
CheckBox cb1 = new CheckBox();
//创建一个带有文本的CheckBox
CheckBox cb2 = new CheckBox("Second");

cb1.setText("First");
cb1.setSelected(true);

通过setText来设置文本,setSelected来设置当前选中的状态。

定义状态

CheckBox通常情况下,有选中或者不选中状态。但也有一种中立的状态,既非选中,也非没选中。通过setSelected和setIndeterminate方法结合使用。

如下图所示:

监听事件

如果我们需要监听CheckBox选中等的事件,同样需要监听Property,如下:

final 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(
        (ObservableValue<? extends Boolean> ov,
            Boolean old_val, Boolean new_val) -> {
                icon.setImage(new_val ? image : null);                
    });
}

主要实现的是多个CheckBox,通过选中来显示相应的ImageView中的图片。

运行效果如下:

总的来说,也是个非常简单的控件。

标签: CheckBox javafx 从零开始学习JavaFX
最后更新:2017年4月14日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591