JavaFx Scene Builder关于ListView用法 一 (包括双击可修改数据)

1.首先先拖拽一个button 一个 listView组件 过来 然后分别设置id
在这里插入图片描述
2.在Controller中实例化
在这里插入图片描述
3.在initiallize类下添加数据

listView.getItems().add("1111");
		listView.getItems().add("2222");
		listView.getItems().add("3333");
		listView.getItems().add("4444");
		listView.getItems().add("5555");
		listView.getItems().add("6666");
		listView.getItems().add("7777");
		listView.getItems().add("8888");
		listView.getItems().add("9999");
		listView.getItems().add("1010");
		listView.getItems().add("1111");
		listView.getItems().add("1212");
		listView.getItems().add("1313");
		listView.getItems().add("1414");
		listView.getItems().add("1515");

效果如下图:

在这里插入图片描述
4.数据多选 按住ctrl键可多选

listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//按住Ctrl 可以多选  SelectionMode.SINGLE单选(默认)

在这里插入图片描述
5.双击 可修改数据

/**
		    * 双击可编辑
		    */
		   listView.setEditable(true);//可编辑状态
		   listView.setCellFactory(TextFieldListCell.forListView());

在这里插入图片描述
输入新数据后 按回车键即可
在这里插入图片描述
6.选中指定下标

listView.getSelectionModel().select(1);//选中下标1
listView.getSelectionModel().selectIndices(0, 2);//选中下标0,2

7 .双击编辑的第二种方式ComboBoxListCell
在添加个ListView组件 泛型 为对象Data
在这里插入图片描述
添加dataList数据

		Data d1=new Data("A", 0);
		Data d2=new Data("B", 1);
		Data d3=new Data("C", 2);
		dataList.getItems().add(d1);
		dataList.getItems().add(d2);
		dataList.getItems().add(d3);

添加编辑状态

/**
		 * 编辑状态2
		 */
		   Callback<ListView<Data>, ListCell<Data>>call=ComboBoxListCell.forListView(new StringConverter<Data>(){

			@Override
			public Data fromString(String string) {
				return new Data(string, 0);
			}

			@Override
			public String toString(Data object) {
				return object.getName();
			}

		   },new Data("qwe", 1),new Data("asd", 0),new Data("zxc", 2));
		   dataList.setEditable(true);
		   dataList.setCellFactory(call);

效果如图
在这里插入图片描述
8.双击编辑第三种方式ChoiceBoxListCell
前面一样 创建组件 添加数据
Callback<ListView, ListCell>call1=ChoiceBoxListCell.forListView(new StringConverter(){

				@Override
				public Data fromString(String string) {
					return new Data(string, 0);
				}

				@Override
				public String toString(Data object) {
					return object.getName();
				}

			   },new Data("qwe", 0),new Data("asd", 1),new Data("zxc", 2));
			   dataList1.setEditable(true);
			   dataList1.setCellFactory(call1);

三种效果如图
在这里插入图片描述

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值