基于JavaFx的通讯录

JavaFx的通讯录

开发环境

IntelliJ IDEA 2021.1.1
JavaFX Scene Builder 2.0
jdk15.02
mysql-connector-java-8.0.22

目标: 实现简单的增删查改功能

项目开始:在IDEA创建自己的JavaFx项目
在这里插入图片描述
生成如下文件
在这里插入图片描述
Controller默认的组件类class文件,继承了Application类
Main启动javafx程序的入口
sample.fxml文件 个人理解为显示页面的结构文件,右键往下拉能够使用选择Scene Builder打开,拖拽设置

使用JavaFX Scene Builder 2.0设计页面

选择fxml使用Scene Builder打开

在这里插入图片描述
用到的界面组件有Label ,TextField, Button, TableView
Label :显示标题
TextField, Button:收集数据
TableView: 显示数据

Scene Builder几个重要地方

在这里插入图片描述
Text: Button组件实例化的用于显示的内容
Font字体大小
在这里插入图片描述
fx:id : Button在Java代码中的实例化名字:delete

在这里插入图片描述
一系列的On xxx就是设置这个按钮Button的触发事件

用于显示数据的组件:TableView

TableView创建之后会有TableColumn
TableView最好在新的Pane下,这样TableView的滚轮才会出现
本次通讯录设置三列分别对应通信录的Person类的姓名name,地址address,电话phone属性

生成代码

在这里插入图片描述
选择View->Show sample Controller Skeleton
在这里插入图片描述
保存设置,fxml文件代码更新
复制代码到你的自己创建的Controller.class文件下面

TableView组件的代码

初始化TableView专属数组

private final ObservableList<Person> data = FXCollections.observableArrayList();
设置TableColume对应的Person的属性

原来是TableColumn<?,?>

 @FXML
    private TableView<Person> tableview;
    @FXML
    private TableColumn<Person,String> Address;
    @FXML
    private TableColumn<Person,String> Name;
    @FXML
    private TableColumn<Person,String> Number;

在initialize()方法下分配属性

initialize() {
Address.setCellValueFactory(new PropertyValueFactory<Person, String>("address"));
}

数据装配

tableview.setItems(data);

github上完整代码:
https://github.com/zslkdjaw/study_notes/tree/Javafx-based-address-book

总结:这是第一次独立的开发一个小系统,代码完成时间和博客发表时间不同

欢迎讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值