JFileChooser

예숑·2023년 12월 10일
0

JAVA - File

목록 보기
4/7
post-thumbnail

File을 열거나 저장할 수 있는 Dialog를 띄워준다.
JFileChooser fc = new JFileChooser(열게 할 위치);

package home;

import java.io.File;

import javax.swing.JFileChooser;

public class MyJFileChooserEx {

	public static void main(String[] args) {
		JFileChooser fc = new JFileChooser(".");
		int result = fc.showOpenDialog(null);
		
		if(result == JFileChooser.APPROVE_OPTION) {
			File f = fc.getSelectedFile();
			System.out.println(f.getPath());
		}
	}
}


showOpenDialog( ) : 파일을 열 수 있는 다이얼로그창이 뜬다.
showSaveDialog( ) : 파일을 저장할 수 있는 다이얼로그 창이 뜬다.
JFileChooser.APPROVE_OPTION : 승인을 한다.(선택한 파일을 연다.)

⭐️JFileChooser의 여러 메소드

package home;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class MyJFileChooserEx1 {

	public static void main(String[] args) {
		JFileChooser filechooser = new JFileChooser(".");
		
		filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
		
		filechooser.setDialogTitle("여기 타이틀이 변해요");
		
		filechooser.setApproveButtonText("확실해요?");
		
		filechooser.setFileFilter(new FileNameExtensionFilter("text파일", "txt"));
		
		filechooser.showOpenDialog(null);
	}
}

setFileSelectionMode( ) : 파일의 선택모드를 정해준다.

JFileChooser.DIRECTORIES_ONLY : 디렉토리만 선택가능
JFileChooser.FILES_ONLY(default) : 파일만 선택가능
JFileChooser.FILES_AND_DIRECTORIES : 둘다 선택가능

setDialogTitle( ) : 다이얼로그창의 타이틀을 변경해준다.
setApproveButtonText( ) : 승인 버튼의 문자를 변경해준다.
setFileFilter( ) : 파일 필터를 지정해준다.
addChoosableFileFilter( ) : 추가로 필터를 지정해준다.
FileNameExtensionFilter("형식 이름", "형식") : 확장자 선택 필터를 지정해준다.

💜내가 원하는 조건으로 파일 필터 만들기

package home;

import java.io.File;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

public class MyJFileChooserEx1 {

	public static void main(String[] args) {
		JFileChooser filechooser = new JFileChooser(".");
		
		filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
		
		filechooser.setDialogTitle("여기 타이틀이 변해요");
		filechooser.setApproveButtonText("확실해요?");
		
		filechooser.setFileFilter(new FileFilter() {
			//파일 형식 이름을 지정해준다.
			@Override
			public String getDescription() {
				return "2K 미만 파일";
			}
			//내가 원하는 파일 필터를 지정해준다.
			@Override
			public boolean accept(File f) {
				if(f.length() < 2000) {
					return true;
				}else {
					return false;
				}
			}
		});
		
		filechooser.showOpenDialog(null);
	}
}

0개의 댓글

관련 채용 정보