为什么我不能在表格中选择?我和别人一样


@FXML
private void onEditChange(TableColumn.CellEditEvent<ModelTable, String> event) {
ModelTable tbl = table.getSelectionModel().getSelectedItem();
tbl.setName(event.getNewValue());
}

我想在选择后更改表视图的内容。

您需要使用侦听器并将其放置在初始化方法中
单击表中的行时,可以调用执行所需行为的某个方法。我们已经发布了代码,当选择表格行时,我们导航到新屏幕。我们在导航之前将屏幕命名为 blablaPane,我们设置了几个静态变量,以便可以在下一个屏幕上使用这些值。

private void toChildView() throws IOException{
stage = (Stage)parentTVPane.getScene().getWindow();// pane you are ON
childTVPane = FXMLLoader.load(getClass().getResource("childtableview.fxml"));// pane you are GOING TO
Scene scene = new Scene(childTVPane);// pane you are GOING TO
scene.getStylesheets().add(getClass().getResource("diary.css").toExternalForm());
stage.setScene(scene);
stage.setTitle("Diary Entries by Date Entered and Title"); 
stage.show();
stage.sizeToScene();
stage.centerOnScreen();  
}
private void showTableDataDetails(ParentModel info) throws IOException{
if (info != null) {
info =  (ParentModel) ptable.getSelectionModel().getSelectedItem();
strMONTH = info.getPMonth();
strYEAR = info.getPYear();
toChildView();
} 
}
@Override
public void initialize(URL url, ResourceBundle rb) {
try {
ReadFromParent();
} catch (SQLException ex) {
Logger.getLogger(ParentTableViewController.class.getName()).log(Level.SEVERE, null, ex);
}
ptable.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends ParentModel>
observable,ParentModel oldValue, ParentModel newValue) -> {
try {
showTableDataDetails((ParentModel) newValue); // When a row of the table is Selected call
// Proper Construction                       // showTableDataDetails method
} catch (IOException ex) {
Logger.getLogger(ParentTableViewController.class.getName()).log(Level.SEVERE, null, ex);
}
});
}  

最新更新