filechooserwindow.java

来自「我的关于语音聊天以及界面设计的Java库」· Java 代码 · 共 102 行

JAVA
102
字号
package com.seu.michael.gui;

/*
	Show a JFilechooser window;
*/
import java.io.*;
import javax.swing.*;

public class FileChooserWindow{
    private JFileChooser jfc;
    private JFrame f;

    public FileChooserWindow(){
        lf();
        jfc=new JFileChooser();
        jfc.setDragEnabled(true);
        f=new JFrame();
    }
    
    public void setSelectedFile(File f){
    	jfc.setSelectedFile(f);
    }
    
    public void setSelectedFiles(File[]files){
    	jfc.setSelectedFiles(files);
  	}
  	
  	public void setCurrentDirectory(File dir){
  		jfc.setCurrentDirectory(dir);
  	}

    public File saveFile(){
    	jfc.setMultiSelectionEnabled(false);
      jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
      int result=jfc.showSaveDialog(f);
      if(jfc.showSaveDialog(f)==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFile();
      return null;
    }

    public File saveDir(){
    	jfc.setMultiSelectionEnabled(false);
      jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
      int result=jfc.showSaveDialog(f);
      if(jfc.showSaveDialog(f)==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFile();
      return null;
    }
    
    //Selecte only one file
    public File openFile(){
    	jfc.setMultiSelectionEnabled(false);
      jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
      int result=jfc.showOpenDialog(f);
      if(result==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFile();
      return null;
    }
    
    //Selecte only one directory
    public File openDir(){
    	jfc.setMultiSelectionEnabled(false);
      jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
      int result=jfc.showOpenDialog(f);
      if(result==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFile();
      return null;
    }
    
    //Selecte files only
    public File[]openFiles(){
    	jfc.setMultiSelectionEnabled(true);
      jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
      int result=jfc.showOpenDialog(f);
      if(result==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFiles();
      return null;
    }
    
    //Selecte directories only
    public File[]openDirs(){
    	jfc.setMultiSelectionEnabled(true);
      jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
      int result=jfc.showOpenDialog(f);
      if(result==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFiles();
      return null;
    }
    
    
    //Selecte files or directories
    public File[]openFOrD() {
        jfc.setMultiSelectionEnabled(true);
        jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        int result=jfc.showOpenDialog(f);
        if(result==JFileChooser.APPROVE_OPTION)return jfc.getSelectedFiles();
        return null;
    }
    
    private void lf(){
        try{
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          }catch(Exception e){
          	System.err.println("窗口外观初始化失败……");
          }
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?