JAVA GUI 프로그래밍 _4
JAVA반응형
메뉴 구성과 이벤트
package eample;
import java.awt.Color;
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;
import javax.swing.KeyStroke;
public class java extends JFrame implements ActionListener
{
java()
{
setTitle("메뉴 구성하기");
makeMenu();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,170);
setVisible(true);
}
void makeMenu()
{
JMenuItem item;
KeyStroke key;
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("파일");
m1.setMnemonic(KeyEvent.VK_F);
JMenu m2 = new JMenu("색상");
m2.setMnemonic(KeyEvent.VK_C);
item= new JMenuItem("새 파일",KeyEvent.VK_N);
item.addActionListener(this);
m1.add(item);
item = new JMenuItem("파일 열기",KeyEvent.VK_O);
item.addActionListener(this);
m1.add(item);
m1.add(new JMenuItem("파일 저장"));
m1.addSeparator();
m1.add(new JMenuItem("종료"));
item = new JMenuItem("파란색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_B,ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
item = new JMenuItem("빨간색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_R,ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
item = new JMenuItem("노란색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_Y,ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
mb.add(m1);
mb.add(m2);
setJMenuBar(mb);
}
public void actionPerformed (ActionEvent e)
{
JMenuItem mi =(JMenuItem)(e.getSource());
switch (mi.getText())
{
case "새 파일":
System.out.println("새 파일"); break;
case "파일 열기":
System.out.println("파일 열기"); break;
case "파란색":
this.getContentPane().setBackground(Color.BLUE); break;
case "빨간색":
this.getContentPane().setBackground(Color.RED); break;
case "노란색":
this.getContentPane().setBackground(Color.YELLOW); break;
}
}
public static void main(String[] args) {
new java();
}
}
새 파일
새 파일
파일 열기
파일 열기
-> 파일메뉴에서 선택했을 때 콘솔 실행 결과
반응형
'JAVA' 카테고리의 다른 글
JAVA GUI 프로그래밍_3 (0) | 2020.01.18 |
---|---|
자바 GUI 프로그래밍_2 (0) | 2020.01.12 |
자바 GUI 프로그래밍_1 (0) | 2020.01.12 |
자바 기본 api (0) | 2020.01.05 |
자바 예외처리 (0) | 2020.01.05 |