jfilechooser 예제

예제 프로그램은 JFileChooser 클래스의 동일한 인스턴스를 사용하여 표준 저장 대화 상자를 표시합니다. 이번에는 프로그램이 showSaveDialog를 호출합니다: Java 모양과 느낌에서 선택자의 목록에는 각 파일의 이름이 표시되고 파일이 실제 파일인지 디렉터리인지를 나타내는 작은 아이콘이 표시됩니다. FileView의 사용자 지정 하위 클래스를 만들고 setFileView 메서드에 인수로 클래스의 인스턴스를 사용 하 여이 파일 보기를 사용자 지정할 수 있습니다. 이 예제에서는 ImageFileView.java에서 구현된 사용자 지정 클래스의 인스턴스를 파일 선택자의 파일 보기로 사용합니다. 사용자 선택을 프로그램의 요구에 맞게 제한하는 것이 항상 편리합니다. 예를 들어 프로그램에 png 및 GIF 이미지가 필요한 경우 사용자의 선택만 제한하는 것이 좋습니다. 아래 예제에서는 사용자 지정 FileNameExtensionFilter: 마지막으로 예제 프로그램에서 파일 선택 모드를 변경할 수 있는 주석 아웃 코드 줄을 사용 하 여 이를 달성 하는 방법을 보여 주어 있습니다. 예를 들어 다음 코드 줄을 사용하면 파일 선택자가 파일이 아닌 디렉토리만 선택할 수 있습니다. 상위 구성 요소는 대화 상자의 위치와 대화 상자가 종속된 프레임에 영향을 줍니다. 예를 들어 Java 모양과 느낌은 대화 상자를 상위 구성 요소 위에 직접 배치합니다.

상위 구성 요소가 프레임에 있는 경우 대화 상자는 해당 프레임에 종속됩니다. 이 대화 상자는 프레임이 최소화되고 프레임이 최대화되면 다시 나타납니다. 이 예제에서는 setAccessory 메서드를 호출하여 ImagePreview.java에서 구현된 ImagePreview.java에서 선택자의 액세서리 구성 요소로 구현된 ImagePreview.java클래스의 인스턴스를 설정합니다. 액세서리 구성 요소가 있는 프로그램은 선택 사항이 변경될 때마다 액세서리 구성 요소를 업데이트하기 위해 이러한 이벤트를 수신하기 위해 등록해야 합니다. 이 예제에서는 ImagePreview 개체 자체가 이러한 이벤트에 등록됩니다. 이렇게 하면 액세서리 구성 요소와 관련된 모든 코드가 한 클래스에 함께 유지됩니다. 이 방법을 사용하면 사용자가 디렉토리 만 (JFileChooser.DIRECTORIES_ONLY) 또는 파일 만 (JFileChooser.FILES_ONLY) 또는 파일 및 디렉토리 (JFileChooser.FILES_AND_DIRECTORIES)를 선택하도록 사용자를 제한 할 수 있습니다. 기본값은 FILES_ONLY입니다. 다음은 JFileChooser.DIRECTORIES_ONLY를 구현하는 예제입니다: showOpenDialog 메서드를 호출하여 jfilechooser를 표시합니다. 실행할 위치에 대한 구성 요소가 필요하므로 JFrame 개체를 여기에 추가해야 합니다.

JFileChooser는 세 가지 종류의 필터링을 지원합니다. 필터는 여기에 나열된 순서대로 검사됩니다. 예를 들어 응용 프로그램 제어 필터는 기본 제공 필터링에서 허용하는 파일만 볼 수 있습니다. 다음은 속성 변경 이벤트가 발생할 때 호출되는 메서드인 propertyChange 메서드의 예제 구현입니다: 프로그램을 샌드박스 Java Web Start 응용 프로그램으로 배포하려는 경우 JFileChooser API를 사용하는 대신 JNLP API에서 제공하는 파일 서비스를 사용합니다. 이러한 서비스 FileOpenService 및 FileSaveService는 제한된 환경에서 파일을 선택하는 지원을 제공 할뿐만 아니라 실제로 열고 저장하는 데도 주의를 기울입니다. 이러한 서비스를 사용하는 예는 JWSFileChooserDemo에 있습니다. JNLP API 사용에 대한 설명서는 Java 웹 스타트 단원에서 찾을 수 있습니다. 정적 문자열 ACCESSORY_CHANGED_PROPERTY – 다른 액세서리 구성 요소가 사용 중임을 말한다 (예를 들어, 파일을 미리 보기). 이 예제에서는 파일 이름을 가져오고 로그 메시지에 사용합니다. getPath, isDirectory 와 같은 파일 개체의 다른 메서드를 호출하거나 파일에 대한 정보를 얻기 위해 존재할 수 있습니다. 삭제 및 이름 바꾸기와 같은 다른 메서드를 호출하여 파일을 어떤 식으로든 변경할 수도 있습니다.

물론 Java 플랫폼에서 제공하는 판독기 또는 작성기 클래스 중 하나를 사용하여 파일을 열거나 저장할 수도 있습니다. 판독기 및 작성기를 사용하여 파일 시스템에 데이터를 읽고 쓰는 데 대한 자세한 내용은 기본 I/O를 참조하십시오.