java表格中添加按钮_如何在JavaFX表视图中添加按钮
我已经在谷歌和Stackoverflow上搜索了这个,我只是没有得到给定的例子 . 有人可以向我解释一下 .
我想在表视图的最后一列添加一个按钮,当它被单击时,它应该触发一个监听器并传递按钮行的对象 . 我只是没有从gist.github.com得到以下示例:
这是我当前的完整代码:
public class SchermdeelWerkplaats extends BorderPane{
//ATD moeder klasse met alle collecties etc.
private ATD $;
TableView tabel = new TableView();
Button nieuwTaak = new Button("Nieuwe taak inboeken");
final ObservableList data = FXCollections.observableArrayList();
public SchermdeelWerkplaats(ATD a) {
$ = a;
data.addAll($.agenda);
tabel.setEditable(false);
tabel.setPlaceholder(new Label("Geen taken"));
TableColumn c1 = new TableColumn("datum");
c1.setMinWidth(200);
TableColumn c2 = new TableColumn("type");
c2.setMinWidth(100);
TableColumn c3 = new TableColumn("uren");
c3.setMinWidth(100);
TableColumn c4 = new TableColumn("klaar");
c4.setMinWidth(200);
TableColumn c5 = new TableColumn("Werknemer");
c5.setMinWidth(100);
TableColumn c6= new TableColumn("Auto");
c6.setMinWidth(400);
TableColumn c7= new TableColumn("Actie");
c7.setMinWidth(400);
TableColumn col_action = new TableColumn<>("Action");
col_action.setCellValueFactory(
new Callback,
ObservableValue>() {
@Override
public ObservableValue call(TableColumn.CellDataFeatures p) {
return new SimpleBooleanProperty(p.getValue() != null);
}
});
col_action.setCellFactory(
new Callback, TableCell>() {
@Override
public TableCell call(TableColumn p) {
return new ButtonCell();
}
}
);
c1.setCellValueFactory(
new PropertyValueFactory("date")
);
c2.setCellValueFactory(
new PropertyValueFactory("type")
);
c3.setCellValueFactory(
new PropertyValueFactory("hours")
);
c4.setCellValueFactory(
new PropertyValueFactory("done")
);
c5.setCellValueFactory(
new PropertyValueFactory("employee")
);
c6.setCellValueFactory(
new PropertyValueFactory("car")
);
tabel.getColumns().addAll(c1, c2, c3, c4, c5, c6, c7);
tabel.setItems(data);
setCenter(tabel);
setBottom(nieuwTaak);
}
//letterlijk van internet geplukt en datatype aangepast
private class ButtonCell extends TableCell {
private Button cellButton;
ButtonCell(){
cellButton = new Button("jjhjhjh");
cellButton.setOnAction(new EventHandler(){
@Override
public void handle(ActionEvent t) {
// do something when button clicked
Task record = getItem();
// do something with record....
}
});
}
//Display button if the row is not empty
@Override
protected void updateItem(Task record, boolean empty) {
super.updateItem(record, empty);
if(!empty){
cellButton.setText("Something with "+record);
setGraphic(cellButton);
} else {
setGraphic(null);
}
}
}
}
现在,我必须创建一个 ButtonCell extends TableCell 的部分是可以理解的 . 但是如何将其分配给列?
我理解这一点:
c1.setCellValueFactory(
new PropertyValueFactory("date")
);
但不是这个:
TableColumn col_action = new TableColumn<>("Action");
col_action.setCellValueFactory(
new Callback,
ObservableValue>() {
@Override
public ObservableValue call(TableColumn.CellDataFeatures p) {
return new SimpleBooleanProperty(p.getValue() != null);
}
});
col_action.setCellFactory(
new Callback, TableCell>() {
@Override
public TableCell call(TableColumn p) {
return new ButtonCell();
}
}
);
java表格中添加按钮_如何在JavaFX表视图中添加按钮相关推荐
- iphone中怎么添加邮箱_如何在iPhone的Gmail中添加附件
iphone中怎么添加邮箱 While email is still an incredibly popular form of communication, it's not always a pa ...
- react js 添加样式_如何在React JS Application中添加图像?
react js 添加样式 Hello! In this article, we will learn how to add images in React JS? I remember when I ...
- ssas表格模型 权限控制_如何在SQL Server 2016中自动执行SSAS表格模型处理
ssas表格模型 权限控制 There are many ways to process your SSAS Tabular Model. This can be achieved in SSIS u ...
- 谷歌浏览器在怎么添加迅雷_如何在Google搜索结果中添加作者信息
谷歌浏览器在怎么添加迅雷 How to enable the author information in Google search results as shown for many posts? ...
- ubuntu添加路由_如何在Ubuntu,Linux中添加新路由?
ubuntu添加路由 I have a box with Ubuntu Linux and I want to add a new route to my box. Because I want to ...
- ashx在web.config中如何配置_如何在 Istio 1.6 中配置 Prometheus-Operator 和抓取指标
在 Istio1.4 及以上版本中,可观测性指标的创建.交换和抓取的方式已经发生改变. 以下内容讲述了我如何配置 Prometheus Operator 资源以从 Istio1.6 中抓取指标和安装最 ...
- python中options设置_如何在AngularJS的ng-options中设置value属性?
小编典典 ngOptions(可选) – { comprehension_expression=} –以下形式之一: 对于数组数据源 : label for value in array select ...
- mysql查询中使用别名_如何在MySQL选择查询中使用别名?
要在MySQL中设置别名或替代名称,您需要使用AS关键字.让我们首先创建一个表-mysql> create table DemoTable ( Name varchar(100) ); 使用插入 ...
- wps怎么添加附录_如何在word尾注后添加附录、成果等其他内容
又是一年毕业季,这几天小编忙着给毕业论文调格式.学校的格式要求在参考文献后添加个人研究成果等内容,但是我的参考文献使用尾注形式添加的,word对尾注的定义很严格,它就是默认在文章正文后的.如果你尝试在 ...
最新文章
- 致敬YOLO!华科提出YOLOS:基于视觉Transformer的目标检测
- QA32中的出口 “STATTEXT”
- python环境搭建_搭建Python编程环境
- INTERSPEECH 2017系列 | 语音识别之语言模型技术
- project设置6天工作制日历
- php字节怎么转化成字符串,php将utf-8(3字节)字符串转换成字节
- python的应用领域和常用函数模块有哪些_Python模块导入区别与常用函数案例
- Android开发实战一之搭建开发环境-附测试实例(已亲测)
- Pyhton基础篇(1)-第一个Pyhton程序(已更新)
- java synchronized 卖票_Java通过卖票理解多线程
- python构造icmp数据包_python – 在scapy中发送ICMP数据包并选择正确的接口
- C语言: 输出一个图形
- 电子邮件 e-mail原理
- Ubuntu引导文件丢失,grub修复(附加重装显卡驱动方法)
- Python 微信自动化工具开发系列06_根据用户信息自动回复升级版本(2022年10月可用)
- 读庄子-万物齐一和自然无为
- Flutter 判断网络可用性
- 独家 | 零基础入门优化问题
- [OpenCV] 练习题实现代码 使用 cv.addWeighted 函数在文件夹中创建图像的幻灯片放映,并在图像之间进行平滑过渡
- 华为云服务器双十一报价表出炉最新内容
热门文章
- 用PHPExcel读取excel文件内容
- STC15单片机上电复位延时180ms才执行程序
- android go 联发科 p10,联发科P10和高通骁龙435哪个性能强?联发科P10对比高通骁龙435评测...
- centos 7 显示远程窗口到本地
- puppy linux php,硬盘/U盘安装Puppy Linux方法
- Python基础教程读书笔记(第5章—第6章:条件、循环和其他语句;抽象)
- matlab如何在一个区域取电,基于MATLAB带钢卷取电液伺服控制系统的分析
- Vue之引用第三方JS插件,CKPlayer使用
- Python,菜菜,救救呜呜呜
- SoapUI offen used scripts