본문 바로가기

자바공부

자바 고급 스윙 컴포넌트, 툴바 ToolBar

728x90
반응형

* JToolBar는 툴바를 구현한 컴포넌트이다.

툴바는 바(Bar) 모양으로서 다양한 스윙 컴포넌트를 담을 수 있는 컨테이너이다.

툴바는 아이콘 형태의 메뉴를 제공하기 위해 사용된다.

 

* 툴바는 BorderLayout 배치관리자를 가진 컨테이너에만 부착되며 동(EAST), 서(WEST), 남(SOUTH), 북(NORTH)의 아무 곳이나 부착 가능하다.

사용자는 실행 중에 보이는 툴바의 핸들을 드래깅하여 4개의 영역 중 아무 곳이나 옮길 수 있다.

뿐만 아니라 사용자가 툴바의 핸들을 드래깅하여 4개의 영역 중 어디에도 붙이지 않고 독립적으로 떠다니게(floatable)할 수도 있다.

JToolBar로 구현된 툴바

 

* 툴바를 만드는 과정

1) JToolBar 객체를 생성한다.

JToolBar의 생성자에 툴바 이름을 전달한다.

//"Kitae Menu"로 툴바 이름을 지정한 경우
JToolBar bar = newJTollBar("Kitae Menu");

 

2) 메뉴로 사용할 스윙 컴포넌트를 툴바에 삽입한다.

모든 스윙 컴포넌트가 JToolBar에 삽입 가능하다.

컴포넌트 사이에 분리 공간(separator)을 삽입할 수 있다.

bar.add(new JButton("New")); // 버튼 삽입
bar.addSeparator(); // 분리 공간 삽입
bar.add(new JTextField("text field")); // 텍스트필드 삽입

 

3) 툴바를 컨테이너에 삽입한다.

이때 container는 반드시 BorderLayout 배치관리자를 가지고 있어야 한다.

container.add(bar, BorderLayout.NORTH); // 컨테이너의 NORTH에 툴바를 삽입한다.

 

* 툴바는 디폴트로 사용자가 툴바의 핸들을 드래깅하여 다른 영역으로 이동시킬 수 있지만 JToolBar.setFloatable(false)를 호출하여 툴바의 이동을 금지할 수 있다.

이때 툴바의 핸들이 보이지 않게 되며 사용자는 툴바를 드래깅하여 다른 곳으로 이동시킬 수 없다.

JToolBar bar = new JToolBar();
toolBar.setFloatable(false); // 툴바 이동 불가능. true이면 이동 가능

 

반응형