@Gfd

Как загрузить файл FXML в статическом методе?

Понимаю, что вопрос может показаться глупым, но всё же. Мне нужно как-то сделать этот код рабочим. Я знаю, что нельзя задавать статическую ссылку на не статический метод getClass()

public class Exercise{
static Parent panel1;

public static void start() throws Exception {
Stage WindowExercise=new Stage();
panel1=FXMLLoader.load(getClass().getResource("src//application//Window1(Otgimanie).fxml"));
Scene scene1=new Scene(panel1,600,270);
WindowExercise.setScene(scene1);
WindowExercise.show();

}
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ответы на вопрос 2
@moryakov
может как-нибудь так?
public class Exercise {
  /*skipped fields*/
  public void loadScene() {
    Stage WindowExercise=new Stage();
    panel1=FXMLLoader.load(getClass().getResource("src//application//Window1(Otgimanie).fxml"));
    Scene scene1=new Scene(panel1,600,270); 
    WindowExercise.setScene(scene1);
    WindowExercise.show();
  }
  public static void main(String[] args) {
    Excercise ex = new Exercise();
     ex.loadScene();
  }
}
Ответ написан
Комментировать
@akimdi
скорее всего так...

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("путь до файла *.fxml"));
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы