대충벌레 블로그
반응형

 

Swing 개발

사내에서 사용할 프로그램을 개발하기 위해 얘기를 하다가 가볍게 만들거니까

직원분이 Swing 을 사용하자고 하게되어 처음 접하게 되었다.

그래서 인텔리제이와 넷빈스의 차이점에 대한 내 생각을 정리해보려고 한다.

아직 단기간내에 모든 기능을 본건 아니라서 모르고 지나친 부분이 당연히 있어서 다른 의견이 있으면 댓글로 달아주시고

자바로 GUI 개발하는 사람이 요즘에도 있는지 모르겠지만 참고가 되었으면 좋겠다.

 

인텔리제이 GUI Form 과 NetBeans Swing GUI 

변수 및 소스 자동 생성

인텔리제이의 GUI Form 의 경우 NetBeans 와 비교하면 Swing Menu 컴포넌트가 없거나 GUI 컴포넌트를 끌고와서 만들어주면 자바소스로 만들어 주는게 좀 빈약하다고 느낀다.

예를 들어 인텔리제이의 GUI Form 에서 JPanel 을 만들었다고 하더라도 fieldName을 정해주지 않았다면 소스상에서는 생기지 않는다. 또한 GUI 에서 Text를 정해주면 넷빈즈의 경우 setText 소스가 자동생성되지만 인텔리제이는 setText 변수는 따로 생성되지않는다.

넷빈즈의 경우 생성한 모든 Variable들을 생성해주고 소스상의 문제가 발생하지 않게 Modify도 할수없게끔 해놨다.

참고사진

GUI 생성 편의성

사내에서 쓸 프로그램을 인텔리제이 그리고 넷빈즈 두개에서 화면만 만들어봤을때 개인적으로 편했던거는 인텔리제이 이다.

인텔리제이의 경우 내가 구상했던 화면이 그리드 레이아웃만 써도 될정도로 드래그 앤 드랍해서 원하는 위치에 들어갔다.

그리드 레이아웃이 크기조절이 안됐다고 설명이 되어있는데 인틸리제이에서는 크기까지 조절도 되었다.

다만 넷빈즈는 화면그리는데에만 시간이 많이 할애되어서 어떤 레이아웃을 써야할지 감이 안잡혔다.

단순 Free Layout의 경우는 제외한다.

 

또한 Intellij의 경우 Form 안에 Form을 넣어서 GUI 보는것도 편했었다.

 

유지보수 및 IDE 종속성

유지보수적인 측면에서 봤을땐 넷빈즈가 자바소스까지 모두 생성해주니까 이게 맞다고 볼수있다. 

인텔리제이의 경우 GUI 에서 만들면 new JPanel() 등 소스상에서 생성부분이 불필요하다.

다만 개인적으로 개발할거라면 나는 인텔리제이를 추천한다.

Menu쪽이 소스짜는게 불편하다면 그 부분만 넷빈즈에서 개발하고 자바 소스로 가져와도 될듯하다.

인텔리제이에서 만든 자바소스는 인텔리제이 Tool 에서만 가능하니 공유를 해도 IDE가 다르면 수정이 힘들다.

아마 자바소스를 받게된다면 많은 에러를 뿜을지도 모른다.

 

PS

처음에 GUI 폼이 있는지 모르고 java 로 간단한 오토 마우스 이동을 만들어봤었는데 불편한 느낌을 받았다.

GUI 툴을 사용해서 필요한 프로그램을 개발해보고 싶다.

반응형
profile

대충벌레 블로그

@대충벌레

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!