(я действительно новичок в java и javafx)
Когда я нахожусь в сцене (class2), я нажимаю кнопку "Guardar" и мне нужно вернуться в другую сцену (class1) и показатьизображение (doubleTicket) (https://ibb.co/2jjJ5j3).
У меня уже есть 3 сцены.
Моя проблема в том, что когда я нажимаю «Guardar» в другой сцене, он повторяется и показывает правильно изображение doubleTicketно изображение, отображаемое в соответствии с другой кнопкой другой сцены, исчезает.
Я знаю, что мое объяснение может сбивать с толку, это не мой язык или мой кодовый язык, но я приложу код для лучшего понимания.
Это мой код:
открытый класс Vista1Controller { (в этом классе мне нужно показать изображение, если в классе "Formulario1" я нажал "Guardar")
@FXML private ImageView doubleTicket1;
@FXML private ImageView doubleTicket2;
@FXML private ImageView doubleTicket3;
public void onImagetuerca1PressedChangeScene(MouseEvent event) throws IOException {
Parent vista1parent = FXMLLoader.load(getClass().getResource("/formulario1.fxml"));
Scene vista1Scene = new Scene(vista1parent);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(vista1Scene);
window.show();
}
public void onImagetuerca2PressedChangeScene(MouseEvent event) throws IOException {
Parent vista2parent = FXMLLoader.load(getClass().getResource("/formulario2.fxml"));
Scene vista2Scene = new Scene(vista2parent);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(vista2Scene);
window.show();
}
public void onImagetuerca3PressedChangeScene(MouseEvent event) throws IOException {
Parent vista3parent = FXMLLoader.load(getClass().getResource("/formulario3.fxml"));
Scene vista3Scene = new Scene(vista3parent);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(vista3Scene);
window.show();
}
public void setDoubleTicket1Visible(boolean e){
doubleTicket1.setVisible(e);
}
public void setDoubleTicket2Visible(){
if(doubleTicket1.isVisible()){
doubleTicket1.setVisible(true);
return;
}
doubleTicket2.setVisible(true);
}
public void setDoubleTicket3Visible(){
doubleTicket3.setVisible(true);
}
открытый класс Formulario1Controller {
public void changeSceneOnButtonGuardarPressedF1(ActionEvent event) throws IOException{
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/vista1.fxml"));
Parent buttonparent = loader.load();
Scene buttonScene = new Scene(buttonparent);
Vista1Controller vista1Controller = loader.getController();
vista1Controller.setDoubleTicket1Visible(true);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(buttonScene);
window.show();
}
public void changeSceneOnButtonVolverPressedF1(ActionEvent event) throws IOException{
Parent buttonparent = FXMLLoader.load(getClass().getResource("/vista1.fxml"));
Scene buttonScene = new Scene(buttonparent);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(buttonScene);
window.show();
}
открытый класс Formulario2Controller расширяет Formulario1Controller { (когда здесь появляется изображение, изображение Formulario1 исчезает)
public void changeSceneOnButtonGuardarPressedF2(ActionEvent event) throws IOException {
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/vista1.fxml"));
Parent buttonparent = loader.load();
Scene buttonScene = new Scene(buttonparent);
Vista1Controller vista1Controller = loader.getController();
vista1Controller.setDoubleTicket2Visible();
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(buttonScene);
window.show();
}
public void changeSceneOnButtonVolverPressedF2(ActionEvent event) throws IOException{
Parent buttonparent = FXMLLoader.load(getClass().getResource("/vista1.fxml"));
Scene buttonScene = new Scene(buttonparent);
Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();
window.setScene(buttonScene);
window.show();
}
Вкратце, мне нужно, чтобы изображение Formulario1 все еще было видно, когда появляется изображение Formulario2
У меня серьезные проблемы со связью между классами
Спасибо!