📄 extractdialog.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 + -