javafx tableview鼠标触发更新属性详解
程序员文章站
2024-02-22 17:11:10
本文实例为大家分享了javafx tableview鼠标触发更新属性,供大家参考,具体内容如下
public class hovercell extends ta...
本文实例为大家分享了javafx tableview鼠标触发更新属性,供大家参考,具体内容如下
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的其他内容
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()); } }); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。