【发布时间】:2018-05-10 18:01:47
【问题描述】:
我对 javafx 有疑问。我有一个对 bib 文件进行操作的项目。当我想将类数据(条目)插入表视图时遇到问题。但它在tableview中仍然是空的。操作是键入名称并从 bib 文件中搜索,然后在表格视图中显示结果。 谢谢 The gui image
我有课
public class Entry implements Comparable<Entry>{ public static final int ignoreOrder=-1; public static final int OrderByName=0; public static final int OrderByTitle=1; public static final int OrderByYear=2; private String name; private String title=""; private String year="0"; private int order=OrderByName; public int getOrder() { return order; } public void setOrder(int order) { this.order = order; } public Entry(String name){ this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } }
填满tableview,但还是空的。
@FXML
private TableView<Entry> table_id;
@FXML
private TableColumn<Entry, String> Col_BKey;
@FXML
private TableColumn<Entry, String> Col_counts;
@FXML
private TableColumn<Entry, String> Col_EntryType;
@FXML
private TableColumn<Entry, String> Col_Title;
@FXML
private TableColumn<Entry, String> Col_Year;
@FXML
private TableColumn<Entry, String> Col_Booktitle;
@FXML
private TableColumn<Entry, String> Col_Author;
public void loadFile(ActionEvent event){
int orderModel=0;
if(title_radio.isSelected()){
orderModel=1;
}else if(year_radio.isSelected()){
orderModel=2;
}
ReadingProcessor readingProcessor=new ReadingProcessor(new OrderedLinkedList(orderModel));
entryList=readingProcessor.read(filePath);
}
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!");
}
ObservableList<Entry> list = FXCollections.observableArrayList(entry);
table_id.setItems(list);
}
【问题讨论】:
-
您显示的代码只是创建了一个空列表并将其设置为表的后备列表。您实际在哪里创建数据并将其添加到列表中?
-
我编辑了我的问题代码。我阅读了 bib 文件并在文本中输入名称以从文件中搜索条目。我想将此条目插入到 tableview 中,但我不知道如何。谢谢@James_D
标签: javafx insert tableview scenebuilder