자바

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

드린 2016. 12. 22. 15:08
반응형
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 활용 예제

반응형