javafx tableview鼠标触发更新属性详解

2025-05-29 0 41

本文实例为大家分享了javafx tableview鼠标触发更新属性,供大家参考,具体内容如下

?

1

2

3

4

5

6

7

8

9

10

11

12

13
public class HoverCell extends TableCell<Person, String> {

public HoverCell(StringProperty hoverProperty) {

setOnMouseEntered(e -> hoverProperty.set(getItem()));

setOnMouseExited(e -> hoverProperty.set(null));

}

@Override

protected void updateItem(String item, boolean empty) {

super.updateItem(item, empty);

setText(empty ? null : item);

}

}

记录一下鼠标滑动触发表格更新内容,后续继续添加tableview的其他内容

?

1

2

3

4

5

6
firstNameCol.setCellFactory(TextFieldTableCell.forTableColumn());

firstNameCol.setOnEditCommit(event -> {

String[] row = event.getRowValue();

row[index] = event.getNewValue();

});

记录一下,如何让tablecell可以编辑的同时,再可以获取其他列的值

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45
public void editTable(){

nameColumn.setCellFactory(TextFieldTableCell.forTableColumn());

qtyColumn.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter()));

expColumn.setCellFactory(TextFieldTableCell.forTableColumn());

mrpColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));

amtColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));

final int[] ad = {0};

nameColumn.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<TableData, String>>() {

@Override

public void handle(TableColumn.CellEditEvent<TableData, String> event) {

((TableData)event.getTableView().getItems().get(event.getTablePosition().getRow())).setName(event.getNewValue());

//TablePosition tp = tableView.getFocusModel().getFocusedCell();

}

});

qtyColumn.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<TableData, Integer>>() {

@Override

public void handle(TableColumn.CellEditEvent<TableData, Integer> event) {

((TableData)event.getTableView().getItems().get(event.getTablePosition().getRow())).setQty(event.getNewValue());

ad[0] = event.getTableView().getItems().get(event.getTablePosition().getRow()).getQty();

dynCal();

}

});

expColumn.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<TableData, String>>() {

@Override

public void handle(TableColumn.CellEditEvent<TableData, String> event) {

((TableData)event.getTableView().getItems().get(event.getTablePosition().getRow())).setExp(event.getNewValue());

}

});

mrpColumn.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<TableData, Double>>() {

@Override

public void handle(TableColumn.CellEditEvent<TableData, Double> event) {

event.getTableView().getItems().get(event.getTablePosition().getRow()).setMrp(event.getNewValue());

}

});

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://www.cnblogs.com/miller83/p/7426885.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 javafx tableview鼠标触发更新属性详解 https://www.kuaiidc.com/115494.html

相关文章

发表评论
暂无评论