欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaFx Scene Builder TableView组件的使用

程序员文章站 2024-02-05 11:56:46
...

先拖拽个TableView 组件 设置id 注意我没有加TableColumn组件(加了会报错 不知道为什么 所以就没加 在Controller类里加的 效果一样)
JavaFx Scene Builder TableView组件的使用
controller类

   @FXML
    	private TableView<User> tableView;

User类 将对象显示在TableView里
JavaFx Scene Builder TableView组件的使用
给User对象赋值

	User u=new User(1, "张三", 11);
	User u1=new User(2, "李四", 12);
	User u2=new User(3, "王五", 13);
	ObservableList<User> ls2=FXCollections.observableArrayList();
	ls2.addAll(u,u1,u2);//将对象赋值到 集合中
	tableView.setItems(ls2);//将集合的值 存储到tableView里
	TableColumn<User, Number> table_id=new TableColumn<User, Number>("序号");//创建TableColumn  列名为序号
	TableColumn<User, String> table_name=new TableColumn<User, String>("姓名");
	TableColumn<User, Number> table_age=new TableColumn<User, Number>("年龄");
	/**
	 * 反射取值
	 */
	table_id.setCellValueFactory(new PropertyValueFactory<User, Number>("id"));//相当于getid
	table_name.setCellValueFactory(new PropertyValueFactory<User, String>("name"));//getName
	table_age.setCellValueFactory(new PropertyValueFactory<User, Number>("age"));//getAge
	/**
	 * 合并列
	 */
	TableColumn<User, Object> group=new TableColumn<User, Object>("基本信息");
	group.getColumns().add(table_name);
	group.getColumns().add(table_age);
	//按顺序排列
	tableView.getColumns().add(table_id);
	tableView.getColumns().add(group);
	//不合并的话 加上tableView.getColumns().add(table_name);tableView.getColumns().add(table_age);

运行效果 合并和没合并
JavaFx Scene Builder TableView组件的使用JavaFx Scene Builder TableView组件的使用