在TableView中,javafx中不显示任何列
我试图将数据填充到TableView中,但不知何故,它没有显示任何内容 这是我使用arraylist作为类型创建arraylist的类:在TableView中,javafx中不显示任何列,java,mysql,database,javafx,tableview,Java,Mysql,Database,Javafx,Tableview,我试图将数据填充到TableView中,但不知何故,它没有显示任何内容 这是我使用arraylist作为类型创建arraylist的类: public class movieDetails { private String movieName; private String description; private String movieLocation; private String movieTime; private int movieThreator; public movieD
public class movieDetails {
private String movieName;
private String description;
private String movieLocation;
private String movieTime;
private int movieThreator;
public movieDetails(String movieName, String description, String movieLocation, String movieTime, int movieThreator) {
this.movieName = movieName;
this.description = description;
this.movieLocation = movieLocation;
this.movieTime = movieTime;
this.movieThreator = movieThreator;
}
movieDetails(String string) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public String getMovieName() {
return movieName;
}
public String getDescription() {
return description;
}
public String getMovieLocation() {
return movieLocation;
}
public String getMovieTime() {
return movieTime;
}
public int getMovieThreator() {
return movieThreator;
}
public void setMovieName(String movieName) {
this.movieName=movieName;
}
public void setDescription(String description ) {
this.description=description;
}
public void setMovieLocation(String movieLocation) {
this.movieLocation=movieLocation;
}
public void setMovieTime(String movieTime) {
this.movieTime=movieTime;
}
public void setMovieThreator(int movieThreator) {
this.movieThreator=movieThreator;
}
}
然后在数据库实现类中,我返回这个ObservableList
public ObservableList movies_listView() throws ClassNotFoundException, SQLException{
ObservableList<movieDetails> movieDetails_Table = FXCollections.observableArrayList();
Class.forName(driver);
conn = DriverManager.getConnection(url,dbuser,dbpassw);
ResultSet rs = conn.createStatement().executeQuery("SELECT movie_name,description,cinema_location,time,threator FROM movie");
while(rs.next()){
movieDetails_Table.add(new movieDetails(
rs.getString("movie_name"),
rs.getString("description"),
rs.getString("cinema_location"),
rs.getString("time"),
rs.getInt("threator")
));
}
conn.close();
return movieDetails_Table;
}
在主课上
TableView<movieDetails> movieDetails_table = new TableView<>();
TableColumn<movieDetails,String> movieNameCal=new TableColumn<>("Movie Name");
TableColumn<movieDetails,String> movieDesCal=new TableColumn<>("Description");
TableColumn<movieDetails,String> movieLocCal=new TableColumn<>("Movie Location");
TableColumn<movieDetails,String> movieTimCal=new TableColumn<>("Movie Time");
TableColumn<movieDetails,Integer> movieThreCal=new TableColumn<>("Movie Threator");
movieNameCal.setCellValueFactory(new PropertyValueFactory<>("movie Name"));
movieDesCal.setCellValueFactory(new PropertyValueFactory<>("description"));
movieLocCal.setCellValueFactory(new PropertyValueFactory<>("movie Location"));
movieTimCal.setCellValueFactory(new PropertyValueFactory<>("movie Time"));
movieThreCal.setCellValueFactory(new PropertyValueFactory<>("movie Threator"));
movieDetails_table.getColumns().add(movieNameCal);
movieDetails_table.getColumns().add(movieDesCal);
movieDetails_table.getColumns().add(movieLocCal);
movieDetails_table.getColumns().add(movieTimCal);
movieDetails_table.getColumns().add(movieThreCal);
deleteMovie_pane.setCenter(movieDetails_table);
// this button to navigate the scene where the table in
deleteMovie_button.setOnAction(e->{
try {
movieDetails_table.setItems(db.movies_listView());
primaryStage.setTitle("Delete Movie Scene");
primaryStage.setScene(deleteMovie_scene);
primaryStage.show();
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(Java_CinemaTicket.class.getName()).log(Level.SEVERE, null, ex);
}
});
一旦我运行IDE,它将指示没有错误,但它只显示一列信息填充,而其余的则不显示
输出图片
这是数据库图片:
您尚未将列添加到表中。使用
movieDetails_table.getColumns().add(movieNameCal);
等等。您在哪里将列添加到表中?不确定如何添加它们在此处发布问题比阅读一些问题更容易吗?即使是搜索引擎也包括了如何做到这一点。有时候,从专家那里获得经验会更好,因为搜索引擎的第一个成功之处就是