java - incompatible return type ReadOnlyLongWrapper in lambda expression -


this question has answer here:

i'm trying create treetableview , trying set sell value factory

    @fxml     private treetablecolumn<good, long> folderid; 

here:

 folderid.setcellvaluefactory((treetablecolumn.celldatafeatures<good, long> param) ->                 new readonlylongwrapper(param.getvalue().getvalue().getfolderid())); 

i underlined red error described in title. getfolderid in good class following:

public long getfolderid() {         return folderid;     } 

the same method works fine string or boolean values drops exception mentioned in title , following on compilation:

incompatible types: bad return type in lambda expression     javafx.beans.property.readonlylongwrapper cannot converted javafx.beans.value.observablevalue<java.lang.long> 

how observablevalue<java.lang.long> instead of readonlylongwrapper , why exception appears long values?

here whole method:

goodspane.setcenter(goodtreetableview);         list<good> goodandfolderslist = goodsservice.getgoods();         list<good> goods = new arraylist<good>();         list<good> roots = new arraylist<good>();         (good good: goodandfolderslist){             if (good.isis_folder()) {                 roots.add(good);             }else {                 goods.add(good);             }         }         treeitem<good> rootitem = new treeitem<>();         (good root: roots){             long folderid = root.getid();             treeitem<good> roottreeitem = new treeitem<>(root);             (good good: goods){                 if (good.getfolderid() == folderid){                     treeitem<good> goodtreeitem = new treeitem<>(good);                     roottreeitem.getchildren().add(goodtreeitem);                 }             }             rootitem.getchildren().add(roottreeitem);         }         goodtreetableview.setroot(rootitem);         goodname.setcellvaluefactory((treetablecolumn.celldatafeatures<good, string> param) ->                 new readonlystringwrapper(param.getvalue().getvalue().getname()));         folderid.setcellvaluefactory((treetablecolumn.celldatafeatures<good, long> param) ->                 new readonlylongwrapper(param.getvalue().getvalue().getfolderid()));         is_folder.setcellvaluefactory((treetablecolumn.celldatafeatures<good, boolean> param) ->                 new readonlybooleanwrapper(param.getvalue().getvalue().isis_folder())); 

readonlylongwrapper observablevalue<number>.

so there 2 solutions @ hand:

  1. change column treetablecolumn<good, number> folderid; or
  2. create own implementation of observablevalue<long>.

in cases, 1 should fine, can number.longvalue().


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -