javafx如何使用scenebuilder创建表格, 并向其添加数据
1. 新建JavaFX项目 , 并用scenebuilder 打开项目 fxml文件 .

将此部件拉到界面中, 并设置好.
1. 表格的fx:id 2. 设置好列名 3. 设置好每个列的 fx:id
2. 点击这里

如果你们表格和列都设置好了 fx:id , 这里是有代码

直接复制, 替换掉我们原来的 HelloController.java里面的内容
3. 创建一个 User类.
并设置好构造函数, setter , getter .
User.java
package com.example.demo;
public class User {
private String name;
private Integer age;
private String animal;
public User(String name, int age, String animal) {
this.name = name;
this.age = age;
this.animal = animal;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAnimal() {
return animal;
}
public void setAnimal(String animal) {
this.animal = animal;
}
}
4.由于我们之前已经是复制过scenebuilder的代码., 所以里面已经包含了 tableview和column对象, 现在 让 HelloController 实现 initialize 接口
HelloCtroller.java 代码如下. 具体就是实现接口, 将User 和 column 与界面的列绑定 , 添加数据 . 载入数据 .
package com.example.demo;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import java.net.URL;
import java.util.ResourceBundle;
public class HelloController implements Initializable {
@FXML
private TableColumn<User, Integer> age;
@FXML
private TableColumn<User, String> animal;
@FXML
private TableColumn<User, String> name;
@FXML
private TableView<User> tableview1;
ObservableList<User> list = FXCollections.observableArrayList(
new User("Daninel",20,"Dog"),
new User("Anna",20,"Cat"),
new User("Marc",20,"Bird")
);
@Override
public void initialize(URL location, ResourceBundle resources) {
name.setCellValueFactory(new PropertyValueFactory<User,String>("name"));
age.setCellValueFactory(new PropertyValueFactory<User,Integer>("age"));
animal.setCellValueFactory(new PropertyValueFactory<User,String>("animal"));
tableview1.setItems(list);
}
}

参考教程: www.油土鳖.com/watch?v=fnU1AlyuguE
网址自己替换下..

浙公网安备 33010602011771号