Sunday 15 April 2012

java - JavaFX - how can I get a TableView to show the strings in an array? -



java - JavaFX - how can I get a TableView to show the strings in an array? -

after trying many different ways, have not been able tableview display strings. originally, info supposed come resultset object but, not work. latest effort (below) seems straightforward way display info but, strings still not show.

as can see, tableview , listview described in fxml document. listview shows it's strings without problems. missing something?

public class audioplayerfxmlcontroller implements initializable { @fxml private listview playlist; @fxml private tableview playlisttableview; @fxml private tablecolumn pathcolumn, artistcolumn, titlecolumn, albumcolumn, tracknumbercolumn, lengthcolumn, descriptioncolumn, ratingcolumn, datecolumn, settingcolumn, urlcolumn, languagecolumn, nowplayingcolumn, publishedbycolumn, encodedbycolumn, artworkurlcolumn, trackidcolumn; private static final string new_playlist = "new playlist"; private static final string friend_playlist = "friend's playlist"; private static final string library = "library"; private static buttoncell bc; observablelist<string> observableplaylist; observablelist<string> observablelistfortableview; @override public void initialize(url url, resourcebundle rb) { observableplaylist = fxcollections.observablearraylist(); observableplaylist.add(new_playlist); observableplaylist.add(friend_playlist); observableplaylist.add(library); observablelistfortableview = fxcollections.observablearraylist(); observablelistfortableview.add(new_playlist); observablelistfortableview.add(friend_playlist); observablelistfortableview.add(library); list<string> values = arrays.aslist("one", "two", "three", "three", "three", "three", "three", "three", "three", "three", "three", "three", "three", "" + "three", "three", "three", "three"); system.out.println(fxcollections.observablearraylist(values)); playlisttableview.setitems(fxcollections.observablearraylist(values)); playlist.setitems(observableplaylist); playlist.setcellfactory(new callback<listview<string>, listcell<string>>() { @override public listcell<string> call(listview<string> list) { bc = new buttoncell(); homecoming bc; } }); playlist.seteditable(true); playlist.getselectionmodel().select(2); playlist.setoneditcommit(new eventhandler<listview.editevent<string>>() { public void handle(listview.editevent<string> event) { system.out.println(event.geteventtype()); system.out.println(event.getnewvalue()); } }); } class buttoncell extends listcell<string> { private textfield fieldforeditingcell; @override public void startedit() { if (!iseditable() || !getlistview().iseditable()) { return; } super.startedit(); if (isediting()) { fieldforeditingcell = new textfield("enter edit here"); fieldforeditingcell.setonkeypressed(new eventhandler<keyevent>() { public void handle(keyevent keypress) { if (keypress.getcode() == keycode.enter) { string nameofnewplaylist = fieldforeditingcell.gettext(); observableplaylist.add(nameofnewplaylist); playlist.setitems(null); playlist.setitems(observableplaylist); playlist.getselectionmodel().select(nameofnewplaylist); } else if (keypress.getcode() == keycode.escape) { canceledit(); } } }); setgraphic(fieldforeditingcell); fieldforeditingcell.requestfocus(); fieldforeditingcell.seteditable(true); fieldforeditingcell.focusedproperty().addlistener(new changelistener<boolean>() { @override public void changed(observablevalue<? extends boolean> observable, boolean oldvalue, boolean newvalue) { if (!newvalue && fieldforeditingcell != null) { commitedit(fieldforeditingcell.gettext()); } } }); fieldforeditingcell.selectall(); } } @override public void canceledit() { super.canceledit(); imageview addsymbol; addsymbol = imageviewbuilder.create().image(new image("/images/ic_add_grey600_15dp.png")).build(); addsymbol.fitheightproperty(); settext(getitem()); setgraphic(addsymbol); } @override public void updateitem(string item, boolean empty) { super.updateitem(item, empty); if ((this.getindex() == 0) || (this.getindex() == 1)) { imageview addsymbol; addsymbol = imageviewbuilder.create().image(new image("/images/ic_add_grey600_15dp.png")).build(); addsymbol.fitheightproperty(); settext(item); setgraphic(addsymbol); getstyleclass().add("custom_list-cell"); //setstyle("-fx-background-color: #f5f5f5"); //setstyle("-fx-hover-color: yellow"); } else { settext(item); setgraphic(null); } } } //begin tableviewcell class playlisttableviewcellfactory extends tablecell<string, string> { } //begin tableview methods... public void tabledraggedover(dragevent event) { dragboard db = event.getdragboard(); if (db.hasfiles()) { event.accepttransfermodes(transfermode.copy); } event.consume(); } public void dropcompleted(dragevent event) { dragboard db = event.getdragboard(); boolean success = false; if (db.hasfiles()) { event.accepttransfermodes(transfermode.copy); dbutils.addtoplaylisttablefromdraganddrop(db.getfiles()); success = true; } event.setdropcompleted(success); event.consume(); } }

java javafx javafx-8 fxml

No comments:

Post a Comment