я не знаю, очень хорошо говорю по-английски, поэтому я надеюсь, что вы меня понимаете.
хорошо, я пытаюсь передать значения между сценами.в моей первой сцене у меня есть значок, и когда я щелкаю по нему (значок), он открывает мою вторую сцену, в которой я показываю табличное представление со значениями, значениями, которые я хочу передать, когда выбрано одно из них.
проблема в том, что когда я снова показываю первую сцену, она открывается при первом нажатии на панель касания, и мне приходится снова выбирать касание, которое мне нужно, и мне интересно, существует ли какой-нибудь способ открыть сцену на определенной вкладке илипозвольте открыть первую сцену, и когда я выберу значение, вторая сцена закроется, и первая сцена покажет мне значение в текстовом поле.
это мой код:
контроллер первой сцены (щелчок по значкуit):
@FXML
void seleccionarProveedor(MouseEvent event) {
try {
Node node = (Node) event.getSource();
Stage stage = (Stage) node.getScene().getWindow();
stage.close();
Parent root = FXMLLoader.load(getClass().getResource("/interfaces/seleccionarProveedor.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
} catch (IOException ex) {
Logger.getLogger(MercanciaController.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void proveedor(Proveedor proveedor) {
txtProveedor.setText(proveedor.getNombre());
}
Изображение первой сцены:
код контроллера моей второй сцены (когда я выбираю значение из табличного представления):
public Stage seleccionar(Proveedor proveedor) {
try {
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
"/interfaces/gestionMercancia.fxml"
)
);
Stage stage = new Stage();
stage.setScene(
new Scene(
(Pane) loader.load()
)
);
MercanciaController controller
= loader.<MercanciaController>getController();
controller.proveedor(proveedor);
stage.show();
return stage;
} catch (IOException ex) {
Logger.getLogger(SeleccionarProveedorController.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}
@FXML
public void seleccionarProveedor(MouseEvent event) {
Node node = (Node) event.getSource();
Stage stage = (Stage) node.getScene().getWindow();
stage.close();
Proveedor proveedor = tblData.getSelectionModel().getSelectedItem();
seleccionar(proveedor);
}
Изображение второй сцены: