-2
javafxのテーブルビューにデータを表示するプロジェクトがあります。問題は:エントリに1つのデータがある場合、それはtableviewに表示できます。しかし、私はリストに複数のデータを追加したいですが、私はどのようにわかりません。どこで編集すればよいですか?テーブルビューにJavafxはテーブルビューに複数のデータを挿入できません
public void SelectOKAction(ActionEvent event) {
String searchStr=select_text.getText();
if(searchStr==null||searchStr.trim().equals("")){
AlertBox.display("Wrong", "Please enter entry's name");
return;
}
Entry entry=entryList.search(searchStr);
if(entry==null){//NOT FOOUND
AlertBox.display("Wrong", "Entry not exists!");
}
//show data in table
OrderedList l=new OrderedLinkedList();
l.add(entry);
showDataInTable(l);
}
挿入データを:
private void showDataInTable(OrderedList entryList){
ObservableList<Entry> list = FXCollections.emptyObservableList();
for(int i=0;i<entryList.size();i++){
Entry entry=entryList.get(i);
Class<? extends Entry> clz=entry.getClass();
if(Untils.checkField(clz, "journal")){
Col_Journal.setCellValueFactory(new PropertyValueFactory<Entry, String>("journal"));
}
if(Untils.checkField(clz, "booktitle")){
Col_Booktitle.setCellValueFactory(new PropertyValueFactory<Entry, String>("booktitle"));
}
if(Untils.checkField(clz, "author")){
Col_Author.setCellValueFactory(new PropertyValueFactory<Entry, String>("author_str"));
}
if(Untils.checkField(clz, "editor")){
Col_Editor.setCellValueFactory(new PropertyValueFactory<Entry, String>("editor"));
}
Col_BKey.setCellValueFactory(new PropertyValueFactory<Entry, String>("name"));
Col_Title.setCellValueFactory(new PropertyValueFactory<Entry, String>("title"));
Col_Year.setCellValueFactory(new PropertyValueFactory<Entry, String>("year"));
Col_EntryType.setCellValueFactory(new PropertyValueFactory<Entry, String>("entryType"));
list.add(entry);
}
table_id.setItems(list);
}
「エラーが発生します。何のエラー? –
@ James_D私はtableviewに複数のエントリを表示することはできませんが、listviewに1つのエントリを持つtableviewに表示できます。 – JhihweiLi
申し訳ありません@James_Dエラーはありません。私はテーブルビューに複数のデータを挿入する方法を知りません。 – JhihweiLi