Newer
Older
MagnetRON / src / org / ntlab / actions / OpenAction.java
package org.ntlab.actions;

import java.awt.event.ActionEvent;
import java.io.File;

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

import org.ntlab.deltaViewer.IMagnetRON;

/**
 * 
 * 
 * @author Nitta Lab.
 */
public class OpenAction extends AbstractMagnetRONAction {
	
	private static final long serialVersionUID = -3935721814268952040L;

	private String lastDir = null;
	private String fileDesc = "MagnetRON File";
	public OpenAction(IMagnetRON magnetRON) {
		super("Open File...", magnetRON);
	}

	public OpenAction(String name, IMagnetRON magnetRON) {
		super(name, magnetRON);
	}

	public OpenAction(String name, IMagnetRON magnetRON, String fileDesc) {
		super(name, magnetRON);
		this.fileDesc = fileDesc;
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		String wd = (lastDir  != null) ? lastDir : System.getProperty("user.dir");
		UIManager.put("FileChooser.acceptAllFileFilterText", "All files");
		UIManager.put("FileChooser.lookInLabelText", "Location");
		UIManager.put("FileChooser.cancelButtonText", "Cancel");
		UIManager.put("FileChooser.cancelButtonToolTipText", "Cancel");
		UIManager.put("FileChooser.openButtonText", "Open");
		UIManager.put("FileChooser.openButtonToolTipText", "Open File");
		UIManager.put("FileChooser.filesOfTypeLabelText", "Type");
		UIManager.put("FileChooser.fileNameLabelText", "File");
		UIManager.put("FileChooser.listViewButtonToolTipText", "List"); 
		UIManager.put("FileChooser.listViewButtonAccessibleName", "List"); 
		UIManager.put("FileChooser.detailsViewButtonToolTipText", "Details");
		UIManager.put("FileChooser.detailsViewButtonAccessibleName", "Details");
		UIManager.put("FileChooser.upFolderToolTipText", "Up one level"); 
		UIManager.put("FileChooser.upFolderAccessibleName", "Up one level"); 
		UIManager.put("FileChooser.homeFolderToolTipText", "Workplace"); 
		UIManager.put("FileChooser.homeFolderAccessibleName", "Workplace"); 
		UIManager.put("FileChooser.fileNameHeaderText", "Name"); 
		UIManager.put("FileChooser.fileSizeHeaderText", "Size"); 
		UIManager.put("FileChooser.fileTypeHeaderText", "Type"); 
		UIManager.put("FileChooser.fileDateHeaderText", "Date"); 
		UIManager.put("FileChooser.fileAttrHeaderText", "Attributes"); 
		UIManager.put("FileChooser.openDialogTitleText","Open file");
		UIManager.put("FileChooser.readOnly", Boolean.TRUE);
		JFileChooser fc = new JFileChooser(wd);
		FileFilter defaultFilter = new FileFilter() {
			public boolean accept(File file) {
				String lcase = file.getName().toLowerCase();
				return lcase.endsWith(".magnet");
			}
			@Override
			public String getDescription() {
				return fileDesc;
			}
		};
		fc.addChoosableFileFilter(defaultFilter);
		int rc = fc.showOpenDialog(null);
		if (rc == JFileChooser.APPROVE_OPTION) {
			lastDir = fc.getSelectedFile().getParent();
			magnetRON.open(fc.getSelectedFile());
		}
	}

}