0
要麼我看着它很久...或者我沒有真正理解它。JavaFX:TableView(fxml)填充數據
在任何情況下,我想填充使用fxml(包括列)與數據創建的tableview。
我的代碼適用於第一個(標題)列,但不適用於其餘部分。
(是「數據」已經在它所有的信息...檢查與調試。)
這樣可以ANY1告訴我,我在做什麼錯?
這裏(希望所有相關的)代碼(一起復制):
@FXML private TableColumn<sresult,String> cl_title;
@FXML private TableColumn<sresult, String> cl_url;
@FXML private TableColumn<sresult, String> cl_poster;
@FXML private TableColumn<sresult, String> cl_date;
@FXML private TableColumn<sresult, String> cl_forum;
String[][] search_res=null;
try {
search_res= search(tf_search.getText());
} catch (MalformedURLException | SolrServerException | ParseException ex) {
Logger.getLogger(MainUiController.class.getName()).log(Level.SEVERE, null, ex);
}
final ObservableList<sresult> data= FXCollections.observableArrayList();
for (String[] s : search_res){
data.add(new sresult(s[0], s[2],s[3],s[4],s[1]));
}
cl_title.setCellValueFactory(
new PropertyValueFactory<sresult,String>("Title"));
cl_poster.setCellValueFactory(
new PropertyValueFactory<sresult,String>("poster"));
cl_date.setCellValueFactory(
new PropertyValueFactory<sresult,String>("date"));
cl_forum.setCellValueFactory(
new PropertyValueFactory<sresult,String>("forum"));
cl_url.setCellValueFactory(
new PropertyValueFactory<sresult,String>("link"));
tb_results.setItems(data);
public class sresult {
private final SimpleStringProperty Title;
private final SimpleStringProperty poster;
private final SimpleStringProperty date;
private final SimpleStringProperty forum;
private final SimpleStringProperty link;
public sresult(String T, String p, String d, String f, String l) {
this.Title = new SimpleStringProperty(T);
this.poster = new SimpleStringProperty(p);
this.date = new SimpleStringProperty(d);
this.forum = new SimpleStringProperty(f);
this.link = new SimpleStringProperty(l);
}
public String getTitle() {
return Title.get();
}
public void setTitle(String T) {
Title.set(T);
}
public String getposter() {
return poster.get();
}
public void setposter(String p) {
poster.set(p);
}
public String getdate() {
return date.get();
}
public void setdate(String d) {
date.set(d);
}
public String getforum() {
return forum.get();
}
public void setforum(String f) {
forum.set(f);
}
public String getlink() {
return link.get();
}
public void setlink(String l) {
link.set(l);
}
}
謝謝!
真的很奇怪,它不工作。我和你的代碼完全一樣,它的工作。你的tableview聲明在哪裏?你有正確的寫@FXML Tableview tb_results? –
可能的[Javafx PropertyValueFactory不填充Tableview]的重複(http://stackoverflow.com/questions/17035478/javafx-propertyvaluefactory-not-populating-tableview) – jewelsea