fx 창 두개 열고 닫기

Y·2021년 3월 5일
0

javafx

목록 보기
3/4
post-thumbnail

내가만든 플젝 구조는 대강 이렇다

Controller는 일단 fxml과 중간다리, 중간관리 역할을 해준다.
즉 FXML - Controller - Service(로직이 들어가있음) 이렇게 프로그램이 돌아간다 생각하면 편하다

메인

먼저 메인 부분이다
loader에 fxml 값을 받아온다 여기서 중요한점은

그림과 같이 컨트롤러 클래스에 MainController라고 정해놨기때문에
loader에는 위그림의fxml값도 가져온다
즉 저기에 버튼이 동작하거나 textfeild의 값들도 받아올수 있다는 뜻이다.

다시 메인을 보면
loader.getController() 를 통해 컨트롤러 값을 가져오고
(참고로 MainController는 implements Initializable 한 상태이다 )

mainController안에 있는 setRoot를 통해 컨트롤러 값을 가져와 받았다.

그리고 43번줄을 확인해보면 버튼을 누를시 loginProc() 이 알아서 작동하는데


(ms는 조금 있다 설명하겠다.)

OnAction을 그림처럼 코드말고 저렇게 설정해줄수도있다.

서비스부분

57번째줄 변수 ms는 MemberServiceImpl(내가 만든 클래스 )형으로

이렇게 짜여져있다.

그림을 보면 알겠지만 새로운 창을 한번더 띄우는 부분인데

stage값을 생성자로 새로 만들어주고 root도 또한 새로 선언한다

root에 16번줄 컨트롤과 같이 담아온 fxml의 값을 저장한 loader를 load하고

위와 똑같이 컨트롤러를 따로 빼서 memberController에 담아내고 setRoot시킨다
(setRoot는 위의 mainController와 똑같다)

컨트롤러 로직부분(로직은따로 분리예정)

그림 35번째줄을 보면 이미 root에 controller값을 가져왔기때문에 아이디를 올바르게 입력하면 잘찾아주는것을 확인할수있다

참고로
22번때 줄 콤보박스 사용법도 익히고 가보자

profile
스스로 공부하고 기록해서 발전할수 있도록 노력하는 공부 벨로그 https://youseong.me

0개의 댓글