본문 바로가기
프로그래밍/자바

자바 Swing 메뉴 만들기

by 밍구몬 2019. 3. 14.
메뉴 만들기
 
  • JMenuBar

이곳에 메뉴항목을 추가할 수 있다.

 

  • JMenu

메뉴바에 추가가능한 메뉴 항목

 

  • JMenuItem

메뉴의 아이템을 구현하기 위한 클래스

 

 

예제소스

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
 
public class test extends JFrame {
 
    test(){
        super("swing test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,200);
        
        //메뉴바 생성
        JMenuBar mb = new JMenuBar();
        
        //메뉴항목 추가
        JMenu jm = new JMenu("메뉴1");
 
        //메뉴의 아이템 추가
        jm.add(new JMenuItem("빨강"));
        jm.add(new JMenuItem("파랑"));
        jm.addSeparator();    //메뉴 아이템의 구분선 생성
        jm.add(new JMenuItem("노랑"));
        
        
        //메뉴바에 메뉴 추가
        mb.add(jm);
        mb.add(new JMenu("초록"));
        
        //프레임에 메뉴바 붙이기
        setJMenuBar(mb);
        
        
        setVisible(true);
    }
    
    public static void main(String[] args) {
        
        new test();
 
    }
 
}
 
cs

 

 

 

Action 이벤트 달기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
 
public class test extends JFrame {
 
    JLabel jl = new JLabel("test");
    
    
    test(){
        super("swing test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,200);
        
        //메뉴바 생성
        JMenuBar mb = new JMenuBar();
        
        //메뉴 생성
        JMenu jm = new JMenu("메뉴1");
        
        //메뉴 아이템 생성
        JMenuItem mi1 = new JMenuItem("빨강");
        JMenuItem mi2 = new JMenuItem("파랑");
        JMenuItem mi3 = new JMenuItem("노랑");
 
        //이벤트 리스너 달기
        mi1.addActionListener(new MenuActionListener());
        mi2.addActionListener(new MenuActionListener());
        mi3.addActionListener(new MenuActionListener());
        
        //메뉴에 아이템 추가
        jm.add(mi1);
        jm.addSeparator();    //메뉴 아이템의 구분선 생성
        jm.add(mi2);
        jm.add(mi3);
        
        
        //메뉴바에 메뉴 추가
        mb.add(jm);
        mb.add(new JMenu("메뉴2"));
        
        
        //프레임에 메뉴바 붙이기
        setJMenuBar(mb);
        
        //라벨 설정
        jl.setSize(200200);
        jl.setFont(new Font("Revie",Font.ITALIC,30));
        add(jl);
        
        setVisible(true);
    }
    
    // 메뉴 클릭시 사용할 리스너 클래스 작성
    class MenuActionListener implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            //선택된 메뉴아이템의 문자열 가져오기
            String s = e.getActionCommand();
            if(s == "빨강") {
                jl.setForeground(Color.red);
            }else if(s == "파랑") {
                jl.setForeground(Color.blue);
            }else if(s == "노랑") {
                jl.setForeground(Color.yellow);
            }
        }
    }
    
    public static void main(String[] args) {
        
        new test();
 
    }
 
}
 
cs

 

 

'프로그래밍 > 자바' 카테고리의 다른 글

JavaFX :: Scene Builder 사용하기  (0) 2019.03.15
JavaFX :: Scene Builder 설치  (0) 2019.03.15
자바 Swing으로 GUI 만들기  (0) 2019.03.11
자바 숫자야구 소스  (0) 2019.03.07
자바 멀티 쓰레드(Thread) 동기화 예제  (0) 2019.03.05