extractfileaction.java

来自「该系统是一个基于p2p的即时聊天系统」· Java 代码 · 共 89 行

JAVA
89
字号
/* * @(#) 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 + =
减小字号Ctrl + -
显示快捷键?