Raw File
CustomJFileChooser.java
package extra;

import java.io.File;
import java.util.ResourceBundle;

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

public class CustomJFileChooser extends JFileChooser {

	private static final long serialVersionUID = 1L;
	private String type;
	private String repertoireProjet;

	private FileNameExtensionFilter fileFilter;
	private String txtFile;
	private String chooserTitle;
	private boolean folderOnly;

	public CustomJFileChooser(String type, ResourceBundle bundleOperationsListe, String repertoireProjet, boolean folderOnly) {
		super();
		this.type = type;
		this.repertoireProjet = repertoireProjet;
		this.folderOnly = folderOnly;
		System.out.println("répertoire projet = " + repertoireProjet);
		if (type.equals("jpg")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersJpg"), "jpg", "jpeg");
			chooserTitle = bundleOperationsListe.getString("txt_EnregistrerJpg");
		} else if (type.equals("net")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersNet"), "net");
			chooserTitle = bundleOperationsListe.getString("txt_EnregistrerNet");
		} else if (type.equals("ListeToCsv")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersCsv"), "csv");
			chooserTitle = bundleOperationsListe.getString("txt_ListeCsv");
		} else if (type.equals("tabConversationsToPdf")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersPdf"), "pdf");
			chooserTitle = bundleOperationsListe.getString("txt_ExportTabConversationsPDFVers");
		} else if (type.equals("tabLocuteursToPdf")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersPdf"), "pdf");
			chooserTitle = bundleOperationsListe.getString("txt_ExportTabLocuteursPDFVers");
		} else if (type.equals("ExportListe")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersLame"), "lame");
			chooserTitle = bundleOperationsListe.getString("txt_ExportListeVers");
		} else if (type.equals("ImportListe")) {
			fileFilter = new FileNameExtensionFilter(bundleOperationsListe.getString("txt_FichiersLame"), "lame");
			chooserTitle = bundleOperationsListe.getString("txt_ImportListe");
		}

	}

	@Override
	public void show() {
		//System.out.println("CustomJFileChooser - show() : folderOnly = "+folderOnly);
		setDialogTitle(chooserTitle);
		setCurrentDirectory(new File(repertoireProjet));
		if (!folderOnly) {			
			addChoosableFileFilter(fileFilter);
			setFileFilter(fileFilter);
			File file = getSelectedFile();
			if (file != null)
				setTxtFile(getExtension(file, type));
		} else
			setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);		
	}

	public String getExtension(File file, String extension) {
		String txtFile = new String(file.toString());
		if (type.equals("jpg")) {
			if (!(txtFile.endsWith(".jpg") || txtFile.endsWith(".JPG")))
				txtFile = txtFile + ".jpg";
		} else if (type.equals("net")) {
			if (!(txtFile.endsWith(".net") || txtFile.endsWith(".NET")))
				txtFile = txtFile + ".net";
		} else if (type.equals("tabConversationsToPdf") || type.equals("tabLocuteursToPdf")) {
			if (!(txtFile.endsWith(".pdf") || txtFile.endsWith(".PDF")))
				txtFile = txtFile + ".pdf";
		} else if (type.equals("ListeToCsv")) {
			if (!(txtFile.endsWith(".csv") || txtFile.endsWith(".CSV")))
				txtFile = txtFile + ".csv";
		} else if (type.equals("ExportListe")) {
			if (!(txtFile.endsWith(".lame") || txtFile.endsWith(".LAME")))
				txtFile = txtFile + ".lame";
		}
		return txtFile;
	}

	public String getTxtFile() {
		return txtFile;
	}

	public void setTxtFile(String txtFile) {
		this.txtFile = txtFile;
	}	
}
back to top