📄 mainframe.java
字号:
return jSplitPane;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setPreferredSize(new java.awt.Dimension(130, 363));
jScrollPane1.setViewportView(getDirTree());
}
return jScrollPane1;
}
/**
* This method initializes jScrollPane2
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane2() {
if (jScrollPane2 == null) {
jScrollPane2 = new JScrollPane();
jScrollPane2.setPreferredSize(new java.awt.Dimension(150, 421));
jScrollPane2.setViewportView(getFileList());
}
return jScrollPane2;
}
/**
* This method initializes jBtnAdd
*
* @return javax.swing.JButton
*/
private JButton getJBtnAdd() {
if (jBtnAdd == null) {
jBtnAdd = new JButton();
jBtnAdd.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnAdd.setIcon(new ImageIcon(getClass().getResource(
"/resources/add.gif")));
jBtnAdd.setRolloverIcon(new ImageIcon(getClass().getResource(
"/resources/add.gif")));
jBtnAdd.setToolTipText("添加(Alt+A)");
jBtnAdd.setSize(new java.awt.Dimension(48, 48));
jBtnAdd.setText("");
jBtnAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
File f[] = getFileList().getSelectedFiles();
if (f == null || f.length == 0) {
JOptionPane.showMessageDialog(null, "请选择文件!");
return;
}
AddFileDialog addFileDialog = new AddFileDialog(
MainFrame.this, getFileList().getSelectedFiles());
addFileDialog.setVisible(true);
}
});
}
return jBtnAdd;
}
/**
* This method initializes jBtnExtract
*
* @return javax.swing.JButton
*/
private JButton getJBtnExtract() {
if (jBtnExtract == null) {
jBtnExtract = new JButton();
jBtnExtract.setText("");
jBtnExtract.setToolTipText("解压到(Alt+E)");
jBtnExtract.setIcon(new ImageIcon(getClass().getResource(
"/resources/extract.gif")));
jBtnExtract.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnExtract.setSize(new java.awt.Dimension(48, 48));
jBtnExtract.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
File f[] = getFileList().getSelectedFiles();
if (f == null || f.length == 0) {
JOptionPane.showMessageDialog(null, "请选择文件!");
return;
}
if (!f[0].toString().endsWith(".zip")
&& !f[0].toString().endsWith(".gz")
&& !f[0].toString().endsWith(".jar")) {
JOptionPane.showMessageDialog(null,
"只能选择一个文件,而且只支持.zip,.gz,.jar文件");
return;
}
source = f[0].toString();
extractDialog = new ExtractDialog(MainFrame.this, true,
source);
extractDialog.setVisible(true);
}
});
}
return jBtnExtract;
}
/**
* This method initializes jBtnTest
*
* @return javax.swing.JButton
*/
private JButton getJBtnTest() {
if (jBtnTest == null) {
jBtnTest = new JButton();
jBtnTest.setText("");
jBtnTest.setSize(new java.awt.Dimension(48, 48));
jBtnTest.setToolTipText("测试(Alt+T)");
jBtnTest.setIcon(new ImageIcon(getClass().getResource(
"/resources/test.gif")));
jBtnTest.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnTest.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
File f[] = getFileList().getSelectedFiles();
if (f == null || f.length == 0) {
JOptionPane.showMessageDialog(null, "请选择文件!");
return;
}
boolean result = u.testFile(f[0]);
if (result) {
JOptionPane.showMessageDialog(null, "测试文件成功!");
} else {
JOptionPane.showMessageDialog(null, "测试文件失败!");
}
}
});
}
return jBtnTest;
}
/**
* This method initializes jBtnView
*
* @return javax.swing.JButton
*/
private JButton getJBtnView() {
if (jBtnView == null) {
jBtnView = new JButton();
jBtnView.setText("");
jBtnView.setSize(new java.awt.Dimension(48, 48));
jBtnView.setIcon(new ImageIcon(getClass().getResource(
"/resources/view.gif")));
jBtnView.setToolTipText("查看(Alt+V)");
jBtnView.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnView.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
File[] files=fileList.getSelectedFiles();
if (files == null || files.length == 0) {
JOptionPane.showMessageDialog(null, "请选择文件!");
return;
}
if (files[0].isDirectory()){
fileList.setPath(files[0].getAbsolutePath());
}
else{
TextEditor te = new TextEditor(files[0]);
te.show();
te.openFile();
}
}
});
}
return jBtnView;
}
/**
* This method initializes jBtnDelete
*
* @return javax.swing.JButton
*/
private JButton getJBtnDelete() {
if (jBtnDelete == null) {
jBtnDelete = new JButton();
jBtnDelete.setText("");
jBtnDelete.setSize(new java.awt.Dimension(48, 48));
jBtnDelete.setIcon(new ImageIcon(getClass().getResource(
"/resources/delete.gif")));
jBtnDelete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (JOptionPane.showConfirmDialog(null, "确定要删除吗?","确定",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION) {
File file[] = getFileList().getSelectedFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
file[i].delete();
} else {
delFolder(file[i].toString());
}
}
}
}
});
jBtnDelete.setToolTipText("删除(Alt+D)");
jBtnDelete.setPreferredSize(new java.awt.Dimension(48, 48));
}
return jBtnDelete;
}
/**
* This method initializes jBtnSearch
*
* @return javax.swing.JButton
*/
private JButton getJBtnSearch() {
if (jBtnSearch == null) {
jBtnSearch = new JButton();
jBtnSearch.setText("");
jBtnSearch.setToolTipText("查找(Ctrl+F)");
jBtnSearch.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnSearch.setSize(new java.awt.Dimension(48, 48));
jBtnSearch.setIcon(new ImageIcon(getClass().getResource(
"/resources/search.gif")));
}
return jBtnSearch;
}
/**
* This method initializes jBtnWizard
*
* @return javax.swing.JButton
*/
private JButton getJBtnWizard() {
if (jBtnWizard == null) {
jBtnWizard = new JButton();
jBtnWizard.setText("");
jBtnWizard.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnWizard.setSize(new java.awt.Dimension(48, 48));
jBtnWizard.setToolTipText("向导(Ctrl+W)");
jBtnWizard.setIcon(new ImageIcon(getClass().getResource(
"/resources/wizard.gif")));
jBtnWizard.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
WizardDialog wizard = new WizardDialog(MainFrame.this,true);
wizard.setVisible(true);
}
});
}
return jBtnWizard;
}
/**
* This method initializes jBtnInfo
*
* @return javax.swing.JButton
*/
private JButton getJBtnInfo() {
if (jBtnInfo == null) {
jBtnInfo = new JButton();
jBtnInfo.setText("");
jBtnInfo.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnInfo.setSize(new java.awt.Dimension(48, 48));
jBtnInfo.setToolTipText("信息(Ctrl+I)");
jBtnInfo.setIcon(new ImageIcon(getClass().getResource(
"/resources/info.gif")));
}
return jBtnInfo;
}
/**
* This method initializes jBtnExit
*
* @return javax.swing.JButton
*/
private JButton getJBtnExit() {
if (jBtnExit == null) {
jBtnExit = new JButton();
jBtnExit.setText("");
jBtnExit.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnExit.setSize(new java.awt.Dimension(48, 48));
jBtnExit.setToolTipText("退出(Alt+F4)");
jBtnExit.setIcon(new ImageIcon(getClass().getResource(
"/resources/exit.gif")));
jBtnExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
exit();
}
});
}
return jBtnExit;
}
/**
* This method initializes jBtnEncrypt
*
* @return javax.swing.JButton
*/
private JButton getJBtnEncrypt() {
if (jBtnEncrypt == null) {
jBtnEncrypt = new JButton();
jBtnEncrypt.setText("");
jBtnEncrypt.setToolTipText("加密(Ctrl+P)");
jBtnEncrypt.setSize(new java.awt.Dimension(48, 48));
jBtnEncrypt.setPreferredSize(new java.awt.Dimension(48, 48));
jBtnEncrypt.setEnabled(false);
jBtnEncrypt.setIcon(new ImageIcon(getClass().getResource(
"/resources/encrypt.gif")));
}
return jBtnEncrypt;
}
/**
* This method initializes statueBar
*
* @return javax.swing.JPanel
*/
private JPanel getStatusBar() {
if (statusBar == null) {
jLabelTotal = new JLabel();
jLabelTotal.setBorder(BorderFactory.createLoweredBevelBorder());
jLabelTotal.setPreferredSize(new java.awt.Dimension(290,25));
jLabelTotal.setText("总计"+fileList.getDirsNum()+"个文件夹和"+fileList.getTotalSize()+"字节("+fileList.getFilesNum()+"个文件)");
jLabelStatus = new JLabel();
jLabelStatus.setBorder(BorderFactory.createLoweredBevelBorder());
jLabelStatus.setText("您已经选中了0个文件");
jLabelStatus.setPreferredSize(new java.awt.Dimension(200,25));
statusBar = new JPanel();
statusBar.setLayout(new BorderLayout());
statusBar.setPreferredSize(new java.awt.Dimension(550,25));
statusBar.add(getJMenuDriveChooser(), java.awt.BorderLayout.WEST);
statusBar.add(jLabelStatus, java.awt.BorderLayout.CENTER);
statusBar.add(jLabelTotal, java.awt.BorderLayout.EAST);
}
return statusBar;
}
/**
* Exit this application
*/
private void exit() {
System.exit(0);
}
/**
* This method initializes jMenuDriveChooser
*
* @return javax.swing.JMenu
*/
private JMenu getJMenuDriveChooser() {
if (jMenuDriveChooser == null) {
jMenuDriveChooser = new JMenu();
jMenuDriveChooser.setIcon(new ImageIcon(getClass().getResource(
"/resources/drive.gif")));
jMenuDriveChooser.setPreferredSize(new java.awt.Dimension(40,25));
jMenuDriveChooser.setBorder(BorderFactory
.createLoweredBevelBorder());
jMenuDriveChooser.setToolTipText("选择驱动器");
for (int i = 0; i < jMenuItemDrives.length; i++) {
jMenuDriveChooser.add(jMenuItemDrives[i]);
}
}
return jMenuDriveChooser;
}
/**
* 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) {
fileList.setPath(dirTree.getPath());
jLabelTotal.setText("总计"+fileList.getDirsNum()+"个文件夹和"+fileList.getTotalSize()+"字节("+fileList.getFilesNum()+"个文件)");
}
});
}
return dirTree;
}
/**
* This method initializes fileList
*
* @return javazip.FileList
*/
private FileList getFileList() {
if (fileList == null) {
fileList = new FileList();
fileList.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
jLabelStatus.setText("您已经选中了"+fileList.getSelectedFileNums()+"个文件");
}
});
}
return fileList;
}
/**
*
*
*/
private void selectAll() {
this.getFileList().selectAll();
}
/**
*
*
*/
private void selectConverse() {
for (int i = 0; i < this.getFileList().getRowCount(); i++) {
}
}
/**
* 查找文件
*
* @param tempdir
*/
private void searchFiles(File tempdir) {
if (tempdir.exists()) {
if (tempdir.isDirectory()) {
File[] tempfiles = tempdir.listFiles();
for (int i = 0; i < tempfiles.length; i++) {
if (tempfiles[i].isDirectory())
searchFiles(tempfiles[i]);
else
AllFiles.add(tempfiles[i]);
}
} else {
AllFiles.add(tempdir);
}
}
}
/**
* 删除文件夹
*
* @param filePathAndName
* String 文件夹路径及名称 如c:/fqf
* @param fileContent
* String
* @return boolean
*/
public void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
System.out.println("删除文件夹操作出错");
e.printStackTrace();
}
}
/**
* 删除文件夹里面的所有文件
*
* @param path
* String 文件夹路径 如 c:/fqf
*/
public void delAllFile(String path) {
File file = new File(path);
if (!file.exists()) {
return;
}
if (!file.isDirectory()) {
return;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);// 再删除空文件夹
}
}
}
/**
* Launches this application
*/
public static void main(String[] args) {
MainFrame application = new MainFrame();
application.setVisible(true);
}
} // @jve:decl-index=0:visual-constraint="10,10"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -