본문 바로가기
자바

자바 소스코드: Menu에 Action리스너 만들기 예제

by 드린 2016. 12. 22.

목차

    반응형
    package javaapplication40;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    class MenuActionEventEx extends JFrame{
        String name[]={"Color","Font","Top","Bottom"};
        JMenuItem mi[]=new JMenuItem[4];
        JLabel la;
        MenuActionEventEx(){
            this.setTitle("Menu에 Action리스너 만들기 예제");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            JMenuBar mb = new JMenuBar();
            JMenu jm = new JMenu("Text");
            la = new JLabel("Hello");
            la.setHorizontalAlignment(SwingConstants.CENTER);
            
            for(int i=0; i<mi.length; i++){
                mi[i]=new JMenuItem(name[i]);
                mi[i].addActionListener(new MyActionListener());
                jm.add(mi[i]);
            }
            
            mb.add(jm);
            this.setJMenuBar(mb);
            this.add(la);
            this.setLocationRelativeTo(null);
            this.setSize(250, 200);
            this.setVisible(true);
        }
        
        class MyActionListener implements ActionListener{
    
            @Override
            public void actionPerformed(ActionEvent ae) {
                JMenuItem item = (JMenuItem)ae.getSource();
                if(item==mi[0]){
                    la.setForeground(Color.blue);
                }
                else if(item==mi[1]){
                    la.setFont(new Font("Ravie", Font.ITALIC, 30));
                }
                else if(item==mi[2]){
                    la.setVerticalAlignment(SwingConstants.TOP);
                }
                else if(item==mi[3]){
                    la.setVerticalAlignment(SwingConstants.BOTTOM);
                }
            }
            
        }
    }
    public class JavaApplication40 {
        public static void main(String[] args) {
            new MenuActionEventEx();
        }
    }
    
    

    <결과>

    2016/12/22 - [자바] - 자바 소스코드: 메뉴바 만들기

    2016/11/23 - [자바] - 자바 소스코드: 랜덤 모양과 위치의 타원 그리기

    2016/11/23 - [자바] - 자바 소스코드: 스레드를 가진 겜블링

    #자바 #자바 소스코드 #메뉴바에 액션리스너만들기 #Menu에 Action리스너 만들기 예제

    반응형