본문 바로가기

자바공부

자바 고급 스윙 컴포넌트, 메뉴 만들기

728x90
반응형

* 스윙에 메뉴를 만들 수 있다.

1) JMenuBar

메뉴바의 기능을 구현한 클래스이다. 이곳에 JMenu로 만든 메뉴를 여러 개 단다.

2) JMenu

하나의 메뉴를 구현한 클래스이다. 이곳에 JMenu으로 만든 메뉴아이템을 여러 개 단다.

3) JMenuItem

하나의 메뉴아이템을 구현한 클래스이다.

스윙으로 만든 메뉴 Example

 

* 메뉴를 만드는 단계별 과정

1) JMenuBar 컴포넌트를 생성하여 메뉴바를 만든다.

JMenuBar mb = new JMenuBar();

2) JMenu 컴포넌트를 생성하여 메뉴를 만들고 메뉴바에 붙인다.

메뉴 이름은 문자열로서 JMenu의 생성자에 전달한다. 

메뉴를 메뉴바에 붙일 때는 JMenuBar의 add() 메소드를 이용한다. 

// "File"메뉴를 만들어 메뉴바에 붙이는 Example
JMenu fileMenu = new JMenu("File");
mb.add(fileMenu);

3) JMenuItem을 이용하여 메뉴아이템을 생성하고 메뉴에 붙인다.

메뉴아이템의 이름은 문자열로서 JMenuItem의 생성자에 전달한다.

메뉴 아이템을 메뉴에 붙일 때는 JMenu의 add()메소드를 이용한다.

// fileMenu에 메뉴아이템을 생성하여 붙이는 Example
fileMenu.add(new JmenuItem("New"));
fileMenu.add(new JmenuItem("Open"));
fileMenu.addSeparator(); // Open 메뉴아이템 다음에 분리선이 삽입된다.
fileMenu.add(new JmenuItem("Save"));
fileMenu.add(new JmenuItem("SaveAs));

4) 메뉴바를 프레임에 붙인다.

// JFrame의 setMenuBar() 메소드를 이용하여 메뉴바를 붙이는 Example
frame.setJMenuBar(mb);

스윙으로 메뉴 만드는 과정

 

* 일반적으로 메뉴아이템은 사용자로부터 작업 명령을 받는 데 사용된다.

그러므로 스윙에서 사용자가 메뉴아이템을 선택하면 Action 이벤트가 발생한다.

// 메뉴아이템에 Action 이벤트를 처리하기 위해 ActionListener를 등록하는 Example
JMenuItem item = new JMenuItem("Color");
item.addActionListener(new ColorActionListener());
fileMenu.add(item);

class ColorActionListener implements ActionListener{
	public void actionPerformed(ActionEvent e){
    	... // 사용자가 Color 메뉴아이템을 선택하는 경우 처리할 작업 구현
    }
}
반응형