您好,我想在显示阶段时禁用按钮,我将按钮命名为registros
,将其命名为阶段registrosiniciales
,这是打开阶段时的代码。
public void mostrarregistrosi() throws IOException {
Stage registrosiniciales=new Stage();
FXMLLoader cargaregistros = new FXMLLoader(getClass().getResource("TablaIncidentes.fxml"));
Parent StackPane = (Parent)cargaregistros.load();
Scene scene = new Scene(StackPane);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
registrosiniciales.setScene(scene);
registrosiniciales.setTitle("Registro De Incidentes");
registrosiniciales.show();
registros.disableProperty().addListener(new ChangeListener<Boolean>(){
@Override public void changed(ObservableValue ov,Boolean old_val, Boolean new_val){
registrosiniciales.show();
}
});
registros.setDisable(true);
}
当我关闭舞台时,该按钮仍处于禁用状态。有帮助或方向吗?
答案 0 :(得分:-1)
registrosiniciales.focusedProperty().addListener(new ChangeListener<Boolean>()
{
@Override
public void changed(ObservableValue<? extends Boolean> b, Boolean oldValue, Boolean newValue)
{
if(newValue == false) {
registros.setDisable(true);
}
}
});
registrosiniciales.showingProperty().addListener(new ChangeListener<Boolean>()
{
@Override
public void changed(ObservableValue<? extends Boolean> b, Boolean oldValue, Boolean newValue)
{
if(newValue == false) {
registros.setDisable(false);
}
}
});