0
我是JavaFX的新手。我需要在已經創建的按鈕點擊上打開另一個屏幕。
爲此,我嘗試搜索,但沒有得到任何幫助,因爲我找到的每個教程都重定向以創建新屏幕。但我想打開已經創建的屏幕。打開按鈕上的現有屏幕點擊
爲此, 我寫下面的代碼controller.java
@FXML
public void handleNewTestBedButtonAction(ActionEvent event) throws IOException {
URL url = getClass().getResource("com/sobc/testbed/gui/testbedform.fxml");
FXMLLoader fxmlloader = new FXMLLoader();
fxmlloader.setLocation(url);
fxmlloader.setBuilderFactory(new JavaFXBuilderFactory());
AnchorPane pane = new AnchorPane();
pane.getChildren().clear();
pane.getChildren().add((Node) fxmlloader.load(url.openStream()));
// here we go
//((SOARiteController) fxmlloader.getController()).setContext();
}
FXML代碼
<Button id="newtestbedbtn" fx:id="newTestBedButtonId" mnemonicParsing="false" onAction="#handleNewTestBedButtonAction" onMouseEntered="#NewTestBedButtonMouseEntered" onMouseExited="#NewTestBedButtonMouseExited" styleClass="imgbtn" text="" wrapText="false">
但我得到以下異常
Caused by: java.lang.NullPointerException
at com.soab.SOARiteController.handleNewTestBedButtonAction(SOARiteController.java:52)
我不明白如何在另一個屏幕上打開一個屏幕。
請給我參考或提示。