⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extractdialog.java

📁 运用java开发工具
💻 JAVA
字号:
package javazip.dialog;

import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javazip.util.*;
import javazip.DirTree;

public class ExtractDialog extends JDialog {

	private JPanel jContentPane = null;
	private JLabel jLabel = null;
	private JTextField jTextField = null;
	private JScrollPane jScrollPane = null;
	private DirTree dirTree = null;
	private JButton jBtnOK = null;
	private JButton jBtnCancel = null;
	private String targetPath;
	private String source="";
	public Util util=new Util();
	public ExtractDialog() throws HeadlessException {
		super();
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Frame arg0) throws HeadlessException {
		super(arg0);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Frame arg0, boolean arg1,String source) throws HeadlessException {
		super(arg0, arg1);
		this.source=source;
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Frame arg0, String arg1) throws HeadlessException {
		super(arg0, arg1);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Frame arg0, String arg1, boolean arg2)
			throws HeadlessException {
		super(arg0, arg1, arg2);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Frame arg0, String arg1, boolean arg2,
			GraphicsConfiguration arg3) {
		super(arg0, arg1, arg2, arg3);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Dialog arg0) throws HeadlessException {
		super(arg0);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Dialog arg0, boolean arg1) throws HeadlessException {
		super(arg0, arg1);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Dialog arg0, String arg1) throws HeadlessException {
		super(arg0, arg1);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Dialog arg0, String arg1, boolean arg2)
			throws HeadlessException {
		super(arg0, arg1, arg2);
		// TODO 自动生成构造函数存根
		initialize();
	}

	public ExtractDialog(Dialog arg0, String arg1, boolean arg2,
			GraphicsConfiguration arg3) throws HeadlessException {
		super(arg0, arg1, arg2, arg3);
		// TODO 自动生成构造函数存根
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(330, 330);
		this.setTitle("选择解压到的文件夹");
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = this.getSize();
		this.setLocation( (screenSize.width - frameSize.width) / 2,
		                                  (screenSize.height - frameSize.height) / 2);
		this.setResizable(false);
		this.setContentPane(getJContentPane());
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel = new JLabel();
			jLabel.setText("目标文件夹(如果不存在将创建)");
			jLabel.setPreferredSize(new java.awt.Dimension(310,30));
			jContentPane = new JPanel();
			jContentPane.setLayout(new FlowLayout());
			jContentPane.add(jLabel, null);
			jContentPane.add(getJTextField(), null);
			jContentPane.add(getJScrollPane(), null);
			jContentPane.add(getJBtnOK(), null);
			jContentPane.add(getJBtnCancel(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField() {
		if (jTextField == null) {
			jTextField = new JTextField();
			jTextField.setPreferredSize(new java.awt.Dimension(310,22));
		}
		return jTextField;
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setPreferredSize(new java.awt.Dimension(310,190));
			jScrollPane.setViewportView(getDirTree());
		}
		return jScrollPane;
	}

	/**
	 * This method initializes dirTree	
	 * 	
	 * @return javazip.DirTree	
	 */
	private DirTree getDirTree() {
		if (dirTree == null) {
			dirTree = new DirTree();
			dirTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
				public void valueChanged(javax.swing.event.TreeSelectionEvent e) {
					jTextField.setText(dirTree.getPath());
				}
			});
		}
		return dirTree;
	}

	/**
	 * This method initializes jBtnOK	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJBtnOK() {
		if (jBtnOK == null) {
			jBtnOK = new JButton();
			jBtnOK.setText("确定");
			jBtnOK.setPreferredSize(new java.awt.Dimension(60,25));
			jBtnOK.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(jTextField.getText().equals("")){
						JOptionPane.showMessageDialog(ExtractDialog.this,"请选择一个文件夹!","错误",JOptionPane.ERROR_MESSAGE);
					}else{
						targetPath=jTextField.getText();
						util.extractFile(source,targetPath);
						JOptionPane.showMessageDialog(ExtractDialog.this,"解压成功!");
						setVisible(false);
					}
				}
			});
		}
		return jBtnOK;
	}

	/**
	 * This method initializes jBtnCancel	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJBtnCancel() {
		if (jBtnCancel == null) {
			jBtnCancel = new JButton();
			jBtnCancel.setText("取消");
			jBtnCancel.setPreferredSize(new java.awt.Dimension(60,25));
			jBtnCancel.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					dispose();
				}
			});
		}
		return jBtnCancel;
	}
	
	/**
	 * Get the target directory for the extracted files.
	 * 
	 * @return String
	 */
	public String getTargetPath(){
		return this.targetPath;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

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