我正在处理一个学校项目,并且在从表格中选择一行后面临启用按钮的问题,按钮和tableView在2个不同的fxml文件中,所以我使用getController()来调用启用它们的方法,但它没有工作,我尝试了一个system.out并且它工作正常,但不是setDisable() 这是tableView控制器中的代码:
public void initialize(URL url, ResourceBundle rb) {
stock.addEventHandler(MouseEvent.MOUSE_CLICKED , (e) -> {
Produit p=null;
p = stock.getSelectionModel().getSelectedItem();
if(p!=null){
FXMLLoader loader = new FXMLLoader(getClass().getResource("sideStock.fxml"));
try {
Parent root= (Parent)loader.load();
} catch (IOException ex) {
Logger.getLogger(StockController.class.getName()).log(Level.SEVERE, null, ex);
}
SideStockController controller=loader.getController();
controller.active();
}
});
//some other methods
initCol();
resize(stock);
initDataInTable();
}
这是我试图打电话的方法
public void active() {
modifier.setDisable(false);
supprimer.setDisable(false);
entree.setDisable(false);
}
当我从同一个类中的另一个方法调用它时它工作正常。
两个fxml文件都加载到同一个场景中,在UImain.fxml / initialize()中