javafx tableview鼠標(biāo)觸發(fā)更新屬性詳解
本文實例為大家分享了javafx tableview鼠標(biāo)觸發(fā)更新屬性,供大家參考,具體內(nèi)容如下
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); } }
記錄一下鼠標(biāo)滑動觸發(fā)表格更新內(nèi)容,后續(xù)繼續(xù)添加tableview的其他內(nèi)容
firstNameCol.setCellFactory(TextFieldTableCell.forTableColumn()); firstNameCol.setOnEditCommit(event -> { 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<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()); } }); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)脫敏實現(xiàn)的方法總結(jié)
數(shù)據(jù)脫敏,指的是對某些敏感信息通過脫敏規(guī)則進行數(shù)據(jù)的變形,實現(xiàn)敏感隱私數(shù)據(jù)的可靠保護,本文主要是對后端數(shù)據(jù)脫敏實現(xiàn)的簡單總結(jié),希望對大家有所幫助2023-07-07java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計
這篇文章主要為大家詳細介紹了java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01Java動態(tài)代理實現(xiàn)_動力節(jié)點Java學(xué)院整理
動態(tài)代理作為代理模式的一種擴展形式,廣泛應(yīng)用于框架(尤其是基于AOP的框架)的設(shè)計與開發(fā),本文將通過實例來講解Java動態(tài)代理的實現(xiàn)過程2017-08-08SpringBoot根據(jù)各地區(qū)時間設(shè)置接口有效時間的實現(xiàn)方式
這篇文章給大家介紹了SpringBoot根據(jù)各地區(qū)時間設(shè)置接口有效時間的實現(xiàn)方式,文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01