본문 바로가기

IT/국비과정

JavaFX : SceneBuilder 실습

반응형

Mainclass.java 코드 작성

 

해당 패키지를 우클릭하고 새로운 파일을 생성하여 fxml 파일을 만든다.

 

Root Element에서 컨테이너 종류를 선택할 수 있다.

fxml 파일 초기 생성화면

 

새로 만든 fxml파일을 우클릭하고 Open with SceneBuilder를 실행시킨다.

 

SceneBuilder에서 버튼과 textField를 하나씩 추가한 뒤 저장을 누르고 이클립스에서 생성했던 fxml 파일을 

더블클릭하면 내용이 갱신된다.

 

다음과 같이 내용이 갱신되었다.

 

 

MainClass의 기능은 단순히 SceneBuilder로 작성한 fxml파일을 불러오는 역할.

이벤트 처리라던지 기능 구현은 Controller.java 파일을 만들어서 그곳에서 처리를 한다.

 

Controller.java를 fxml과 연동시키기 위해 다음과 같이 Controller class의 이름을

패키지명.클래스명 으로 작성한 뒤 저장한다.

그 후 eventTest.fxml을 더블클릭하여 내용을 갱신한 뒤 fx:controller="ex01.Controller"가 정상적으로 추가되었는지 확인한다.

Controller.java 초기 작성

 

SceneBuilder에서 Button 영역을 클릭하고 우측 탭 Code에서 fx:id를 btn으로 입력한다.

 

 

SceneBuilder에서 TextField 영역을 클릭하고 우측 탭 Code에서 fx:id를 textField로 입력한다.

Controller.java에 다음과 같은 코드를 추가한다.

 

<<이벤트 처리 구현하기>>

 

setOnAction(EventHandler <ActionEvent> value) 메소드 : 버튼을 클릭하면 익명객체로 구현한 ActionEvent가 발동된다.

ActionEvent로 test() 메소드를 실행시키도록 코드를 추가하였다.

 

test() 메소드가 실행되게 되면 textField의 내용이 "클릭"이라고 나오도록 설정하였다.

 

버튼을 클릭하면 textField에 "클릭"이라는 글자가 자동으로 나오게 된다.

 

다음과 같이 textField를 추가하고 저장한 뒤 fxml 파일을 더블클릭하여 내용을 갱신한다.

 

Controller.java에 이번에 추가한 textField02 변수를 선언한다.

 

이후 test() 메소드의 내용을 아래와 같이 추가해준다.

 

 

왼쪽 텍스트창에 '안녕하세요'를 입력하면

 

다음과 같이 오른쪽 텍스트창에 안녕하세요가 나타나고 왼쪽 텍스트창은 공백으로 비워지게 된다.

 

 

test() 에 Alert 기능 추가

 

Button을 누르면 경고창이 뜨면서 메시지 창이 뜬다.

반응형