JavaFX | JavaFX 응용 프로그램 기본 코드 | Application클래스의 기본코드

그럼, JavaFX 응용 프로그램은 어떻게 만드는지 그 기본을 살펴 보자. 앞에서 “GUI 근본이 다르다"고 위협(?)하여, “어떻게 프로그램 만드지?“라고 불안해 하는 사람도 있을지 모르겠다. 하지만 그렇게 걱정하지 않아도 된다.

응용 프로그램의 기본은 Java의 기본대로 “main 메소드"를 구현한 클래스를 작성하고 이를 실행하는 것뿐이다. 일반적인 Java 클래스를 작성하면, JavaFX 응용 프로그램을 만들 수 있다는 것이다. 이 점에 대해서는 어떠한 변화도 없다.

다만, JavaFX 응용 프로그램의 클래스는 ‘Application’이라는 낯선 클래스를 상속하여 만들어야 한다.

아래와 같이 응용 프로그램에는 가장 기본적인 형태를 기억해 두자. 이것이 JavaFX 응용 프로그램의 기본이다.

public class 클래스 extends Application {
 
    public static void main(String[] args) {……}
 
    @Override
    public void start(Stage stage) throws Exception {……}
 
}

JavaFX 라이브러리는 “javafx"라는 패키지에 포함되어 있다. 응용 프로그램은 javafx.application 패키지에 있는 “Application"이라는 클래스를 상속받는다. 이 클래스는 추상 클래스이며, “start"라는 메소드가 포함되어 있어 반드시 이것을 구현해야 한다.

이 start 메소드는 응용 프로그램이 시작 할 때의 처리를 만들기 위한 것이다. 이 메소드는 javafx.stage 패키지의 “Stage"라는 클래스의 인스턴스가 인수로 전달된다. 이 Stage는 “최상위 컨테이너"이라는 것으로, GUI 기본 토대가 되는 컨테이너이다. AWT/Swing에서는 Frame과 JFrame 같은 클래스에서 윈도우를 만들고 표시 했지만, JavaFX의 경우 이 Stage를 사용하여 윈도우를 구축하는 것이 기본이다.

Swing 등과 달리 JavaFX에서는 “GUI를 통합하는 윈도우 본체는 JavaFX 측에서 준비되어 있다"는 점이다. Stage를 상속한 클래스를 준비하여 인스턴스를 만드는 것도 아니고, 응용 프로그램을 시작하면 처음에 표시되는 응용 프로그램의 윈도우로 Stage 인스턴스가 start에 전달된다. 프로그래머는 단지 그 전달된 Stage를 이용하여 GUI를 구축할 뿐이다.