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

网友投稿 356 2023-04-15


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

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

public class HoverCell extends TableCell {

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的其他内容

firstNameCol.setCellFactory(TextFieldTableCell.forTableColumn());

firstNameCol.setOnEditCommit(event ->http:// {

String[] row = event.getRowValue();

row[index] = event.getNewValue();

});

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

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>() {

@Override

public void handle(TableColumn.CellEditEvent event) {

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

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

}

});

qtyColumn.setOnEditCommit(new EventHandler>() {

@Override

public void handle(TableColumn.CellEditEvent 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>() {

@Override

public void handle(TableColumn.CellEditEvent event) {

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

}

});

mrpColumn.setOnEditCommit(new EventHandler>() {

@Override

public void handle(TableColumn.CellEditEvent event) {

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

}

});

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:包含http mock工具的词条
下一篇:node实现定时发送邮件的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~