解析 FXML 表格的使用,图书列表功能的实现

解析 FXML 表格的使用,图书列表功能的实现

1.基本操作

  • 安装

首先要配置FXML,安装JavaFX Scene Builder ,这里可以参考网上教程

  • 创建

FXML使用的基本步骤(基本)

  1. xxx.fxml文件
  2. xxxApplication文件
  3. xxxControll文件

扩展

  1. 可以建立css文件,在文件中写自己的css样式

2.使用方法

  • 第一步: 选中fxml文件右击选择Open In SceneBuilder ,即可打开视图页面,如图

  • 第二步骤

然后选择tableview 创建表格,在设计完表格之后,选择view中show sample controller skeleton 复制代码,粘贴到xxxControll文件中

  • xxxControll中展示的文件
public class userSelectControll {
    @FXML
    private TextField selectbook;
    @FXML
    private Button commit;
    @FXML
    private Button backbtn;
    @FXML
    private TableColumn<book, String > pressCol;
    @FXML
    private TableColumn<book, Integer> idCol;
    @FXML
    private TableColumn<book, String > authorCol;
    @FXML
    private TableColumn<book, String > nameCol;
    @FXML
    private TableView<book> myTable;
    @FXML
    private TableColumn<book, Integer> borrowCol;
    @FXML
    private TableColumn<book, Float> priceCol;
    @FXML
    void commitClick(ActionEvent event)  {
​
        String sb=selectbook.getText();
        System.out.println(sb);
        System.out.println("查找如下:");
        if (bookDao.selectAllStudent(sb).isEmpty()==false){
            ArrayList<book> list = bookDao.selectAllStudent(sb);
            idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));
            nameCol.setCellValueFactory(new PropertyValueFactory<>("bname"));
            authorCol.setCellValueFactory(new PropertyValueFactory<>("author"));
            pressCol.setCellValueFactory(new PropertyValueFactory<>("publish"));
            priceCol.setCellValueFactory(new PropertyValueFactory<>("bprice"));
            borrowCol.setCellValueFactory(new PropertyValueFactory<>("isborrow"));
            myTable.getItems().clear();//清空表格里面所有数据
            myTable.getItems().addAll(list);
            userMenuApplication open1=new userMenuApplication();
            try {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }else{
            Alert alert = new Alert(Alert.AlertType.INFORMATION, "未查找到此书!");
            alert.showAndWait();
            try {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    @FXML
    void backbtnClick(ActionEvent event) throws Exception {
        userMenuApplication open = new userMenuApplication();
        open.start(new Stage());
        userSelectApplication.st.hide();//选择后开启一个新的窗体的同时,关闭当前窗体
    }
}
​
​

  • 解析表格的使用
  1. 在图二设计视图的使用,每个表格对应的id和fxid 都要设置,并且要一致,Contrller class 要选择自己创建的xxxcontrller

     

  1. 表格中:idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));
  2. idCol 对应的是自己在图二设置的id,bid对应的是要展示数据库中的字段名称
  3. tableColumn中传入的泛型第一个是对象,第二个是数据类型,注意如果数据类型是int 要写成Integer 引用数据类型
@FXML
private TableColumn<book, Integer> borrowCol;

  1. 关联的是自己要打印在报个中的对象
@FXML
private TableView<book> myTable;

  1. 绑定的是图书表的字段名,通过这个方法,可以将获取到的数据库字段中的属性绑定到表格中
idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));

  1. 展示表格,注意这里要先清空在展示表格信息,不然内容会重复,list是一个集合,存放图书对应的数据
myTable.getItems().clear();//清空表格里面所有数据
myTable.getItems().addAll(list);

  1. book 基础包的封装,返回的是book类型的集合

     

这样就可以通过fxml展示一个表格,结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值