私は学校プロジェクト用のアプリケーションを作成しました。ログイン後、ダッシュボードにアクセスしてください。それは動作しますが、ボタンを無効にするように設定しようとするとNullPointerExceptionがスローされます。このファイルにはJavaFX NullPointerException他のクラスのボタン
、ステージは(ログイン後)に変化している:
public class ScreenController {
public void setScene(Stage stage, Parent root,Button button, String file){
if(file == "dashboard"){
stage = (Stage) button.getScene().getWindow();
try {
root = FXMLLoader.load(getClass().getResource("Dashboard.fxml"));
} catch (IOException ex) {
System.out.println("IOException: "+ex);
}
Scene scene = new Scene(root);
stage.setTitle("Corendon - Dashboard");
stage.setScene(scene);
stage.show();
Dashboard dashboard = new Dashboard();
}
}
}
そして、最後の行に、ボタンが無効に設定する必要があります...
Dashboard dashboard = new Dashboard();
.. 。このクラスによって:
public class Dashboard extends ScreenController {
@FXML public Button buttonDashboard1;
public Dashboard(){
buttonDashboard1.setDisable(true);
}
}
しかし、それはそれを動作していないとNullPointerExceptionがスローされます。
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at
...
Caused by: java.lang.NullPointerException
at fastenyourseatbelts.Dashboard.<init>(Dashboard.java:11)
at fastenyourseatbelts.ScreenController.setScene(ScreenController.java:33)
at fastenyourseatbelts.LoginController.buttonLogin(LoginController.java:74)
... 59 more
私は今何時間も努力していますが、私は解決策を得ていません...何が間違っているのか、誰に分かりますか?
素晴らしい、トリックをやった!助けてくれてありがとう、ファビアン!私はプロジェクトを続けることができます:) –