?? extractfileaction.java
字號:
/* * @(#) ExtractFileAction.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.action.share.upload;//導入核心Java類庫import java.io.File;import java.awt.event.ActionEvent;import javax.swing.JOptionPane;import javax.swing.JFileChooser;//導入自定義Java類庫import hws.item.smart.Smart;import hws.item.smart.misc.StringShop;import hws.item.smart.panel.function.share.UploadPanel;import hws.item.smart.action.BaseAction;/** * 從壓縮文件中提取文件 * * @version 0.1 2005-08-18 * @author Hwerz */public class ExtractFileAction extends BaseAction { /*------------------------------------------------------------------------* * 屬性定義 * *------------------------------------------------------------------------*/ /** * 該類自身的一個靜態引用 */ private static ExtractFileAction action; /*------------------------------------------------------------------------* * 構造函數 * *------------------------------------------------------------------------*/ /** * 構造函數為私有,這樣在整個運行過程中該類就只能有一個實例 */ private ExtractFileAction() { super("提取文件"); setHintInfo("從壓縮文件中提取文件"); setEnabled(false); } /*------------------------------------------------------------------------* * 公共方法 * *------------------------------------------------------------------------*/ /** * 對該類提供的一個全局訪問點,用來實例化該對象 * * @return 該類唯一的一個實例 */ public static ExtractFileAction getInstance() { if (action == null) { action = new ExtractFileAction(); } return action; } /*------------------------------------------------------------------------* * 覆蓋方法 * *------------------------------------------------------------------------*/ /** * 覆蓋超類Action的方法 * * @param event ActionEvent對象 */ public void actionPerformed(ActionEvent event) { boolean flag = true; do { JFileChooser chooser = new JFileChooser(); chooser.setDialogTitle("選擇文件保存的目錄"); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); int option = chooser.showSaveDialog(Smart.getInstance()); if (option == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); if (file.exists() && file.isDirectory()) { UploadPanel.getInstance().extractFile(file); flag = false; } else { int option2 = JOptionPane.showConfirmDialog( Smart.getInstance(), "您選擇的目錄不合法,要繼續嗎?", StringShop.HINT_TITLE, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (option2 == JOptionPane.NO_OPTION) { flag = false; } } } else { flag = false; } } while (flag); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -