Java 의 Swing programming 에 도움이 될 만한 "WindowBuilder Pro" 설치, 이용법입니다.

"WindowBuilder Pro" 를 이용하면 GWT, Swing, SWT 등의 Java GUI design programming 을 할 때에 도움을 받을 수 있을 것입니다.


아래에서는 기본적인 설치 방법만을 포스팅 하였습니다. 자세한 내용은 WindowBuilder 사이트를 참고하세요.


아래의 캡춰 화면이 잘 보이지 않으면 사진을 클릭하면 됩니다.


WindowBuilder Pro 는 Eclipse 의 Plug-in 이므로, Eclipse 에서 Help-Install New software 를 선택합니다.



사이트 입력 란에는 위 캡쳐화면과 같이 http://dl.google.com/eclipse/inst/d2wbpro/latest/4.3 를 입력합니다. 저는 Eclipse Kepler 를 이용하므로 주소에 4.3 을 입력했습니다. 각자 사용하는 Eclipse 버전에 맞도록 숫자를 수정하기 바랍니다.


Eclipse 버전 확인은 wikipedia 에서 할 수 있습니다.


저는 Swing Design 을 하는 것이 목적이므로 Swing Designer 와 WindowBuilder Engine 을 체크 했습니다. 목적에 따라 필요한 항목을 체크하면 됩니다. 단, WindowBuilder Engine 은 Required 표시가 돼 있는 만큼 반드시 체크해야 합니다.


accept 와 next 를 적절히 누르면 설치를 완료할 수 있습니다.(이 글을 읽는 분들을 믿으므로 이 과정은 생략...)


설치가 완료되었는데... 어떻게 사용할까요?


우선 JFrame 을 상속받는 클래스를 먼저 만들어 줍니다. 저는 TestJava 패키지에 MyFrame 이라는 클래스를 만들기로 했습니다.




new - class 를 선택한 뒤...



Class Name 을 MyFrame 으로 입력하고, 현재 Superclass 가 Object 로 지정돼 있으므로 Browse 를 클릭하여 jFrame Class 를 찾습니다. OK, Finish 버튼을 눌러 클래스 생성 완료. public static void main(String[] args) 는 체크하지 않았음을 염두에 둡시다. 현재 패키지에서 MyFrame 클래스 만으로는 프로그램을 실행할 수 없습니다.




위에서 만든 클래스가 담긴 java file 을 open with - WindowBuilder Editor 를 이용하여 엽니다.




그러면 소스창 하단 탭에서 Sourse와 Design 을 선택할 수 있습니다. 먼저 Design 창을 열어 봅니다. 좌측에 여러가지 컴포넌트가 있음을 볼 수 있습니다. Layouts 중 Absolute layout 을 선택 후, 우측의 프레임 위로 마우스를 이동해 봅시다. 그러면 마우스 커서에 + 표시가 생길 것입니다.그대로 클릭! 하면.. 변화가 없어 보이지만..



Source 탭을 눌러 소스창으로 돌아가 보면

getContentPane().setLayout(null);

문장이 추가된 것을 볼 수 있습니다. MyFrame 에 Absolute layout 이 설정된 것입이다. 이제, Frame 내에 Label 을 만들어 봅시다..



Design 창에서 JLabel 을 선택한 후, Frame 상에서 Label 의 위치를 지정합니다.



좌측 Components view 에 lblNewLabel, lblNewLabel_1 가 추가되었고, Frame 상에도 두 개의 Label 이 추가된 것을 볼 수 있습니다.



소스 코드를 보면 WindowBuilder 가 Label 의 좌표를 설정해 주고 있음을 볼 수 있습니다.


UI Programming은 어렵지 않으면서도 시간이 많이 드는 부분이므로, WindowBuilder 와 같은 툴을 이용하면 작업 시간을 훨씬 단축할 수 있을 것이라고 생각합니다. 꼭 WindowBuilder 가 생성해 준 코드를 그대로 사용하지 않더라도, 하나의 샘플로 생각하여 활용해도 좋을 것 같습니다.


포스팅 끝^^!


  1. 추억편 2014.06.16 11:13
    잘보고 갑니다~!
  2. 여우 2014.10.22 08:57
    좋은 글 감사합니다:D
  3. 대학생 2014.12.03 20:02
    이거 몰랐으면 내내 작성하고 있을뻔 했네요 감사합니다.
  4. 진주 2015.10.20 20:02
    도움 많이 됐어요~ 감사합니다^^
  5. 현재멘붕 2016.09.01 14:49
    잠시만요...
    저는 이런걸 왜 지금본건지 설명좀 해주세요 ㅜㅠ
    오늘 밤샌게 ...
    • BlogIcon FelixDies 2016.12.05 16:36 신고
      UI 가 시간 많이 잡아먹는 작업이죠ㅠ 작업 다 마치고 보셨나보네요.. 그래도, 도움 되셨기를 바랍니다!