2011년 9월 25일 일요일

스윙으로 부연설명 만들기(JToolTip)


오늘 강의는 JToolTip을 이용한 부연설명 기능에 대해서 알아볼텐데 우리가 흔히 웹이나 프로그램상에서 어떤 버튼이나 아이템에 마우스를 갖다대면 조그만 창이 나오면서 관련 버튼에 대한 설명이 나오는 것을 본적이 있을 것이다. 바로 오늘 그 툴팁 기능을 자바를 이용한 스윙에서 구현해 보고자 한다. 아이러니하게도 강좌 제목은 JToolTip을 썼지만 이 JToolTip 클래스를 이용하지 않고 간단히 이 기능을 이용하는 방법을 보여주기로 하겠다. 지금까지 필자가 하는 말이 무슨 얘기인지 모르겠다 하는 이들은 아래의 그림을 보기 바란다.^^


여기서 이 버튼에 마우스를 갖다대기만 하면 아래와 같은 화면이 마우스에 붙어서 나온다. 당근(?)이지만 클릭할 필요조차 없다.ㅎㅎ


버튼에다가 마우스를 갖다대면 위와같은 작은 창(?)이라고 하기엔 조금 큰 창이 나오는데 바로 이 기능을 어떻게 사용하는지 공부하자는 것이다. 한줄도 가능하지만 여러줄이 가능한 멀티라인으로 필자가 써먹었고 자세히 보면 그냥 텍스트만 쓴게 아니고 굵기도 진하게 쓰고 칼라도 파란색 집어넣고 줄도 띄우고 은근히 많은 기능들이 사용된 것이다. 그냥 보기엔 몇줄 찍찍 써놓은 것처럼 보이겠지만 말이다.ㅎㅎ 필자가 한줄만 딸랑 나오는 기능이 아니고 이렇게 여러줄로 나오는 것을 공부하자는 것은 여러줄 가능하면 한줄 쓰는것은 저절로 습득되기 때문이다. 그럼 예제 소스를 보기로 할까? ^^


헐~ 상당히 복잡해 보일지도 모르겠다. 허나 강이의 자바강좌의 JButton에 대해서 이미 공부한 여러분들은 일단 유리한 고지에 서있다고 봐도 무방하다. 이해가 잘안되는 부분은 중간에 보이는 버튼쩜 어쩌고 저쩌고 하는 불과 5줄 정도에 불가할테니까 말이다. 자 그럼 설명을 시작해보겠다. 버튼을 만들고 size 어쩌고 하는거는 마우스 대면 나오는 툴팁창에 대해서 설정하라는 것인데 가로 200 세로 50 의 다이멘숑(?)으로 창을 만들라는 것이고 다음줄부터는 그 창안에 내용을 쓰는 부분인데 html 코드를 이용하여 원하는 기능을 편리하게 위의 예제처럼 사용할수가 있다. html은 웹페이지에서 쓰이는 코드인데 요즘은 워낙 널리 보편화되어 있어서인지 굳이 프로그래머가 아니더라도 이 정도의 코드는 보면 알것이라 본다.ㅎㅎ

그러나 아쉬워하는 이들을 위해 필자가 살짝 건드리자면 html 사용할 것이라고 처음에 <html> 코드를 넣어주며 운을 띄워준다. 그리고 중앙배치나 문구 헤드라인으로 색깔은 파란색으로 폰트 글씨체는 이탤릭 스따일로 b는 bold의 약자로 굵게 쓰라는 거고 br은 한줄 띄워서 쓰라는거고 뭐 그런 잡다한 것들인데 이래저래 해보다보면 알게 된다. 사실 필자가 설명하고픈 부분은 이게 아니고 setToolTipText 메소드를 사용한 부분인데 이게 난데없이 어디서 튀어나왔을까 하는 궁금증을 가진 이들이 있을지도 모르겠다. 이런 이들에겐 머리라도 한번 쓰다듬어주고 싶다.ㅎㅎ

setToolTipText( ) 메소드가 있어서 우리는 굳이 JToolTip 클래스를 따로 불러 객체생성하고 그거 이용해서 써야하는 일련의 과정들 없이 바로 쓸수 있는데 대부분의 스윙 콤포넌츠에서 이렇게 바로 위의 예제처럼 써먹을수가 있다. 그 이유는 JComponent에 이 메소드가 들어있기 때문인데 여러분이 알고 있는 대부분의 스윙 콤포넌트들이 JComponent의 기능들을 계승하므로(상속받으므로) 가능하다.

이로써 스윙을 이용한 부연설명을 넣을수 있는 자바의 툴팁 기능에 대해서 알아보았다. 예제를 분석하면서 곰곰히 공부하다보면 그리 어렵지 않을 것이다. 다음 이 시간에는 어느 스윙 애플리케이션에서든지 자주 등장하는 콤포넌트 중의 하나인 JApplet에 대해서 공부해보는 시간을 가져보기로 할테니 오기 전에 예전에 배운 자바 애플릿 강좌를 한번쯤 다시 들춰보고 오기 바란다. 시간은 충분히 줄테니까 말이다.^^

댓글 없음:

댓글 쓰기