GUI에 메뉴바(MenuBar) 만드는 방법임.
먼저, 간단한 설명.!
메뉴바 를 누르면 메뉴 아이템들이 나온다.
그런데, 메뉴아이템들중에 마우스를 가져다 놓으면 옆으로 또 아이템들이 나오게하는 메뉴아이템이 있는데,
이 기능을 하는 아이템은 그냥 다시 메뉴 라고 부른다.
00. 코딩하고 실행한다.
01. 'file', 'Edit' 메뉴바가 만들어진것을 확인할 수 있다.
02. 분리선 까지 잘 만들어진 것을 확인할 수 있다.
03. 키보드 'e' 를 누르면 Event Test 메뉴아이템이 눌리도록 KeyEvent를 설정하고 확인할 수 있다.
04. 메뉴아이템 속에 메뉴를 다시 만들어서 그 안에서 메뉴아이템을 확인할 수도 있다.
05_1. 전체적인 코드
05_2. 전체적인 결과 값.
※. 코드
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
class MyFrame extends JFrame implements ActionListener {
JMenuItem eventTestItem;
public MyFrame()
{
this.setTitle("Menu Title");
this.setSize(500,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Programming Here
createMenu();
this.setVisible(true);
}// MyFrame Constructor
public void createMenu(){
JMenuBar mb = new JMenuBar(); // 메뉴바 생성
JMenu fileMenu = new JMenu("File"); // File 이라는 이름의 메뉴 생성
JMenu editMenu = new JMenu("Edit"); // Edit 라는 이름의 메뉴 생성
mb.add(fileMenu);
// Menu Item
fileMenu.add( new JMenuItem("New"));
fileMenu.add( new JMenuItem("Open"));
fileMenu.add( new JMenuItem("Close"));
fileMenu.addSeparator(); // 분리선
eventTestItem = new JMenuItem("Event Test", KeyEvent.VK_E); // 메뉴아이템을 만들고 이름을 Event Test 로 지정
fileMenu.add(eventTestItem);
eventTestItem.addActionListener(this);
fileMenu.addSeparator(); // 분리선
JMenu submenu = new JMenu("서브메뉴");
fileMenu.add(submenu);
submenu.add( new JMenuItem("Sub Menu 1") );
submenu.add( new JMenuItem("Sub Menu 2") );
mb.add(editMenu);
mb.add( new JMenu("Source") );
this.setJMenuBar(mb); // Main Frame 에 메뉴바 붙임
}// createMenu Constructor
@Override
public void actionPerformed(ActionEvent e) {
if ( e.getSource() == eventTestItem )
{
System.out.println(" Execute Event Test Menu ");
}
}// Override actionPerformed
}// MyFrame Class
public class Test {
public static void main(String[] args) {
new MyFrame();
}// main
}// Main Class