2016-03-04 2 views
0

Прошу простить этот глупый вопрос. Я не могу это решить, и мне нужно руководство.Проблемы с MouseControl в другом fxml с использованием javafx

В моем приложении я начинаю свой основной код Java с меню, как

@Override 
public void start(Stage primaryStage) throws Exception { 
    this.primaryStage = primaryStage; 
    this.primaryStage.setTitle("MONC GUI :: Abhijit Bhattacharyya"); 
    FXMLLoader loader = new FXMLLoader(MoncGUI.class.getResource("RootLayout.fxml")); 
    rootLayout = (BorderPane) loader.load();   
    //Scene scene = new Scene(rootLayout); 
    rootScene = new Scene(rootLayout); 
    primaryStage.setScene(rootScene);     
    RootLayoutController controller = loader.getController(); 
    controller.setMainApp(this); 
    primaryStage.show(); 
} 
    ...... 

Тогда я выбираю, чтобы перейти на конкретную страницу меню, открыв другой FXML в главном классе, как

public void GeomStart() { 
    try { 
     FXMLLoader loader = new FXMLLoader(MoncGUI.class.getResource("Geom.fxml")); 
     AnchorPane geomPage = (AnchorPane)loader.load();    
     rootLayout.setCenter(geomPage); 
     GeomController controller = loader.getController(); 
     controller.setMyScene(rootScene); 
    } catch (IOException ex) { 
     System.out.println(" Problem in loading geometry set"); 
     Logger.getLogger(MoncGUI.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

The geom.fxml связан с geomController.java, который накладывает примитивную геометрическую форму на экран, и я хочу, чтобы она была повернута. Я нахожу код mouseHandler в Интернете, который должен быть активирован, так как передается screen.

Я смущен, какой экран должен проходить. Это начальный экран, инициированный основным классом в начале, или мне нужно определить новый экран локально здесь, в этом контроллере. Я попробовал с локальным экраном на этом контроллере, но дескриптор кода не передан в код MouseHandler.

Спасибо и наилучшие пожелания

ответ

0

Там нет необходимости передавать сцену Arround вообще. Внутри вашего контроллера у вас есть доступ к узлам, которые вы определили в вашем файле FXML. Как только этот файл будет загружен, и вы привязали его корневой узел к графику сцены, вы можете получить сцену, вызвав метод .getScene() любого из этих узлов.

+0

Спасибо за ответ. В рамках этого вопроса я хотел бы задать вам соответствующий вопрос. Для этого нового GeoController требуется сцена для сцены, чтобы управлять мышью для 3D-вращения, а также для камеры. У меня была идея, что эта сцена определяется как корень. Нужно ли мне вводить эту основную сцену или мне нужно определить локальную сцену? – vegaonline

Смежные вопросы