본문 바로가기
자바

자바 소스코드: Menu와 JFileChooser 활용 예제

by 드린 2016. 12. 22.

목차

    반응형
    package javaapplication47;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.filechooser.*;
    import javax.swing.event.*;
    
    class MenuAndFileDialogEx extends JFrame{
        JLabel la = new JLabel();
        
        MenuAndFileDialogEx(){
            this.setTitle("Menu와 JFileChooser 활용 예제");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.add(la);
            createMenu();
            this.setLocationRelativeTo(null);
            this.setSize(300, 200);
            this.setVisible(true);
        }
        void createMenu(){
            JMenuBar mb = new JMenuBar();
            JMenu fileMenu = new JMenu("File");
            JMenuItem openItem = new JMenuItem("Open");
            
            openItem.addActionListener(new OpenActionListener());
            fileMenu.add(openItem);
            mb.add(fileMenu);
            this.setJMenuBar(mb);
        }
        
        class OpenActionListener implements ActionListener{
            JFileChooser chooser;
            OpenActionListener(){
                chooser=new JFileChooser();
            }
            @Override
            public void actionPerformed(ActionEvent ae) {
                FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG&GIF Images","jpg","gif");
                chooser.setFileFilter(filter);
                
                int ret=chooser.showOpenDialog(null);
                if(ret!=JFileChooser.APPROVE_OPTION){
                    JOptionPane.showMessageDialog(null, "파일을 선택하지 않았습니다.","경고",JOptionPane.WARNING_MESSAGE);
                    return;
                }
                
                String filePath=chooser.getSelectedFile().getPath();
                la.setIcon(new ImageIcon(filePath));
                pack();
            }
            
        }
    }
    public class JavaApplication47 {
        public static void main(String[] args) {
            new MenuAndFileDialogEx();
        }
    }
    
    

    <결과>

    2016/12/22 - [자바] - 자바 소스코드: 옵션 팬 만들기

    2016/12/22 - [자바] - 자바 소스코드: 다이얼로그 텍스트 바꾸기(ActionListener)

    2016/12/22 - [자바] - 자바 소스코드: 다이얼로그 만들기

    #자바 #자바 소스코드 #Menu와 JFileChooser 활용 예제

    반응형