본문 바로가기
프로그래밍/② JAVA(자바) 프로젝트

② JAVA(자바) 프로젝트-5 JFrame 안에 그림파일 불러오기 == Import picture files into JFrame

by ronul 2017. 4. 25.
300x250

import javax.swing.*;
import javax.swing.filechooser.*;
import java.awt.event.*;
import java.awt.*;

public class FDialogEx extends JFrame{
 Container contentPane;
 JLabel imgLbl=new JLabel();
 
 FDialogEx(){
  setTitle("그림파일 불러와보기");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  contentPane=getContentPane();
  contentPane.add(imgLbl);
  MakeMenu();
  setSize(300,300);
  setVisible(true);
 }
 
 void MakeMenu() {
  JMenuBar m = new JMenuBar();
  JMenu fMnu = new JMenu("파일");
  JMenuItem oItm = new JMenuItem("열기");
  
  oItm.addActionListener(new OpenActionListener());
  fMnu.add(oItm);
  m.add(fMnu);
  this.setJMenuBar(m);
 }
 
 class OpenActionListener implements ActionListener {
  JFileChooser choice;
  
  OpenActionListener() {
   choice= new JFileChooser();
  }
  public void actionPerformed(ActionEvent e) {
    FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif");
    choice.setFileFilter(filter);

   int ret = choice.showOpenDialog(null);
   if(ret != JFileChooser.APPROVE_OPTION) {
    JOptionPane.showMessageDialog(null, "파일을 선택하지 않았네요", "주의", JOptionPane.WARNING_MESSAGE);
    return;
   }
   
   String fPath = choice.getSelectedFile().getPath();
   imgLbl.setIcon(new ImageIcon(fPath));
   pack();
  }
 }
 public static void main(String [] args) {
  new FDialogEx();
 }
}

 


 

 

 

 

 

JFrame 를 생성하고 그안에 메뉴바를 집어 넣어줍니다

그후 JFileChooser을 이용합니다

FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif");

이것에서 무슨 파일을 선택할 것인가 를 정해주고  

if(ret != JFileChooser.APPROVE_OPTION) {
    JOptionPane.showMessageDialog(null, "파일을 선택하지 않았네요", "주의", JOptionPane.WARNING_MESSAGE);

이곳에서는 파일을 선택하지 않았을 경우 주의라는 메시지 박스가 뜨고 파일을 선택하지 않았네요 라는 말이 안에 들어있습니다.

 

300x250

댓글