728x90
반응형
(3) 파일 다이얼로그
▷ 사용자가 파일을 선택할 때 사용, Swing에서는 JFileChooser를 제공
▷ showOpenDialog ( )와 showSaveDialog ( ) 메소드를 이용해 열기와 저장용 파일 다이얼로그를 띄울 수 있음
▷ 파일 다이얼로그의 기본 디렉토리 위치는 사용자의 홈 디렉토리, 변경하고 싶다면 setCurrentDirectory() 메소드 이용
jFileChooser.setCurrentDirectory(new File("C:/Temp"));
▷ showOpenDialog()와 showSaveDialog() 메소드는 모두 int 값을 리턴
◎ showOpenDialog()와 showSaveDialog() 메소드의 버튼 구분을 위한 상수
NO | 옵션 상수 | 설명 |
1 | APPROVE_OPTION | [열기], [저장] 버튼을 클릭했을 때 |
2 | CANCEL_OPTION | 취소], [x] 버튼을 클릭했을 때 |
◎ 파일 종류를 추가한 파일 다이얼로그와 버튼 선택에 따라 파일 경로 출력 예제
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javax.swing.filechooser.FileNameExtensionFilter; public class JFileChooserExample extends JFrame { private JButton btnFileOpen, btnFileSave; // 메인 윈도우 설정 public JFileChooserExample() { this.setTitle("JFileChooserExample"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.getContentPane().setLayout(new GridLayout(2,1)); this.getContentPane().add(getBtnFileOpen()); this.getContentPane().add(getBtnFileSave()); this.setSize(150, 100); } // 열기 버튼 생성 public JButton getBtnFileOpen() { if(btnFileOpen == null) { btnFileOpen = new JButton(); btnFileOpen.setText("File Open"); btnFileOpen.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 파일 열기 다이얼로그 보여주기 JFileChooser jFileChooser = new JFileChooser(); jFileChooser.addChoosableFileFilter(new FileNameExtensionFilter( "그림파일(*.jpg, *.gif, *.bmp)", "jpg", "gif", "bmp")); jFileChooser.addChoosableFileFilter(new FileNameExtensionFilter( "텍스트 파일(*.txt)", "txt")); int option = jFileChooser.showSaveDialog(JFileChooserExample.this); // 어떤 버튼을 클릭했는지 확인하기 if(option == jFileChooser.APPROVE_OPTION) { File file = jFileChooser.getSelectedFile(); System.out.println("열어야 할 파일 절대경로: " + file.getAbsolutePath()); System.out.println("열어야 할 파일 이름: " + file.getName()); } else if(option == JFileChooser.CANCEL_OPTION) { System.out.println("취소 또는 닫기를 눌렀군요"); } } }); } return btnFileOpen; } // 저장 버튼 생성 public JButton getBtnFileSave() { if(btnFileSave == null) { btnFileSave = new JButton(); btnFileSave.setText("File Save"); btnFileSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 파일 저장 다이얼로그 보여주기 JFileChooser jFileChooser = new JFileChooser(); jFileChooser.addChoosableFileFilter(new FileNameExtensionFilter( "그림파일(*.jpg, *.gif, *.bmp)", "jpg", "gif", "bmp")); jFileChooser.addChoosableFileFilter(new FileNameExtensionFilter( "텍스트 파일(*.txt)", "txt")); int option = jFileChooser.showOpenDialog(JFileChooserExample.this); // 어떤 버튼을 클릭했는지 확인하기 if(option == jFileChooser.APPROVE_OPTION) { File file = jFileChooser.getSelectedFile(); System.out.println("저장할 파일: " + file.getAbsolutePath()); } else if(option == JFileChooser.CANCEL_OPTION) { System.out.println("취소 또는 닫기를 눌렀군요"); } } }); } return btnFileSave; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFileChooserExample jFrame = new JFileChooserExample(); jFrame.setVisible(true); } }); } }
1. File Open 클릭시
▷ Save 클릭 : 경로 지정시 지정 경로 출력
▷ Cancle 클릭 : '취소 또는 닫기를 눌렀군요' 출력
2. File Save 클릭시
▷ Save 클릭 : 경로 지정시 지정 경로 출력
▷ Cancle 클릭 : '취소 또는 닫기를 눌렀군요' 출
다이얼로그에서 JFileChooser로 열기와 저장용 파일 다이얼로그를 띄울 수 있습니다.
파일의 경로를 확인하는데 편리할 것 같네요!
더 많은 기능들에 대해서 배워볼게요~!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
728x90
반응형
'BackEnd > Java' 카테고리의 다른 글
[java]이것이 자바다 부록 Java UI 13 (Swing을 이용한 2D 그래픽스) (0) | 2023.02.26 |
---|---|
[java]이것이 자바다 부록 Java UI 12-3 (Swing을 이용한 색상 다이얼로그) (1) | 2023.02.21 |
[java]이것이 자바다 부록 Java UI 12-1 (Swing을 이용한 표준화된 다이얼로그) (1) | 2023.02.21 |
[java]이것이 자바다 부록 Java UI 12 (Swing을 이용한 다이얼로그) (0) | 2023.02.21 |
[java]이것이 자바다 부록 Java UI 11 (Swing을 이용한 툴바 컴포넌트) (0) | 2023.02.20 |