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

时间:2024-03-22 12:37:10

1.首先先拖拽一个button 一个 listView组件 过来 然后分别设置id
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
2.在Controller中实例化
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
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");

效果如下图:

JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
4.数据多选 按住ctrl键可多选

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

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

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

JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
输入新数据后 按回车键即可
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
6.选中指定下标

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

7 .双击编辑的第二种方式ComboBoxListCell
在添加个ListView组件 泛型 为对象Data
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
添加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);

效果如图
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)
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);

三种效果如图
JavaFx Scene Builder关于ListView用法(包括双击可修改数据)