0
我很抱歉問這個愚蠢的問題。我無法解決它,我需要指導。使用javafx在不同的fxml中使用MouseControl的問題
在我的應用程序開始菜單中我主要的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();
}
......
然後,我選擇通過作爲
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);
}
}
的主類打開另一個FXML去一個特定的菜單頁面geom.fxml
與geomController.java關聯,它在屏幕上放置一個原始的幾何形式,我希望它被旋轉。我在互聯網上找到了mouseHandler代碼,它應該被激活,因爲screen
通過了。
我很困惑應該通過哪個屏幕。它是開始時由主類啓動的根屏幕,還是我需要在此控制器的本地定義一個新屏幕。我嘗試了一個本地控制器的屏幕,但代碼句柄沒有傳遞給MouseHandler代碼。
感謝和問候
感謝您的回覆。作爲這個問題的一部分,我想問你一個相關的問題。這個新的GeoController需要場景旁邊的舞臺來控制3D旋轉鼠標以及Camera。我有一個想法,那個階段曾經被定義爲Root。我是否需要啓用Root Stage或者我需要定義本地舞臺? – vegaonline