본문 바로가기
GUI( JavaFX Scene Builder )/SceneBuilder

SceneBuilder(1_Java)

by pms93 2022. 8. 19.
package ex1;

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

public class Ex1 extends Application {

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		// FXMLLoader가 필요로 하는 데이터의 자료형은 URL
		// getClass()의 .getResource()매서드를 통해 특정 클래스의 경로를 URL자료형으로 반환받을 수 있다.
		System.out.println("현재 클래스의 위치 : " + getClass());
		System.out.println("fxml 파일의 위치 : " + getClass().getResource("Ex1.fxml"));
		
		// FXML file에 구현된 내용을 가지고 오는 작업
		// getClass().getResource("Ex1.fxml")
		// - new Ex1()과 같은 행위
		FXMLLoader loader = new FXMLLoader(getClass().getResource("Ex1.fxml"));
		
		// .load();
		// - 실행할 화면의 참조값을 자료형 Parent로 반환받는다.
		Parent form = loader.load();
		Scene scene = new Scene(form);
		primaryStage.setTitle("test");
		primaryStage.setScene(scene);
		primaryStage.show();
	}
}