📄 compressframe.java~30~
字号:
}
private void changeDirectory(){
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(workDirectory);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setMultiSelectionEnabled(false);
chooser.showOpenDialog(this);
if (chooser.getSelectedFile() == null) {
return;
}
currentDirectory = chooser.getSelectedFile().getPath();
initializeFileList();
tableModel.fireTableDataChanged();
}
void jButton1_actionPerformed(ActionEvent e) {
this.changeDirectory();
}
void jMenuItemCD_actionPerformed(ActionEvent e) {
this.changeDirectory();
}
private void renameFile(){
int rowsSelected[]=fileTable.getSelectedRows();
if(rowsSelected==null||rowsSelected.length==0){
return;//未选择文件,返回
}
else if(rowsSelected.length>1){
JOptionPane.showMessageDialog(this,"只能选择一个文件","重命名文件出错",JOptionPane.INFORMATION_MESSAGE);
}
File temp=(File)fileList.get(rowsSelected[0]);
String oldName=temp.getName();
String extension="";
String hintMessage="请输入新文件名:";
if(temp.isFile()){
extension=oldName.substring(oldName.lastIndexOf("."));
hintMessage=hintMessage+"("+extension+")";
}
String newName=JOptionPane.showInputDialog(this,hintMessage,oldName);
if(newName==null){//用户没有输入
return;
}
newName=currentDirectory+"\\"+newName;
if(!(extension.length()>1&&newName.endsWith(extension))){//需要的扩展名用户没有输入
newName+=extension;//添加扩展名
}
if(!temp.renameTo(new File(newName))){//无法重新命名文件
JOptionPane.showMessageDialog(this,
"无法重新命名文件:\n" + temp.getAbsolutePath() +
"\n请确认文件未被使用",
"重命名文件出错", JOptionPane.ERROR_MESSAGE);
return;
}
initializeFileList();
tableModel.fireTableDataChanged();
}
void jMenuItemRename_actionPerformed(ActionEvent e) {
this.renameFile();
}
void jButton3_actionPerformed(ActionEvent e) {
this.renameFile();
}
void jButton8_actionPerformed(ActionEvent e) {
CompressFrame_AboutBox dlg = new CompressFrame_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,
(frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
private void zipFiles(){
if(this.fileTable.getSelectedRowCount()==0){
return;
}
CompressDialog cDialog=new CompressDialog(this,"压缩文件",true);
cDialog.setSize(380,220);
cDialog.setLocation((1024-320)/2,(768-220)/2);
cDialog.show();
}
void jButton5_actionPerformed(ActionEvent e) {
this.zipFiles();
}
void jMenuItemCompress_actionPerformed(ActionEvent e) {
this.zipFiles();
}
private void extract(){
if(this.fileTable.getSelectedRowCount()==0){
return;
}
if (this.fileTable.getSelectedRowCount() > 1) {
JOptionPane.showMessageDialog(this, "一次只能选择一个文件解压。", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
if(!fileSelected.getName().endsWith(".zip")){
JOptionPane.showMessageDialog(this, "请选择zip格式文件", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
ExtractDialog extract=new ExtractDialog(this,"解压缩文件",true);
extract.setSize(275,400);
extract.setLocation((1024-275)/2,(768-400)/2);
extract.show();
}
File getZipFile(){
File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
return fileSelected;
}
void jButton6_actionPerformed(ActionEvent e) {
this.extract();
}
void jMenuItemExtract_actionPerformed(ActionEvent e) {
this.extract();
}
private void infor(){
if(this.fileTable.getSelectedRowCount()==0){
return;
}
if (this.fileTable.getSelectedRowCount() > 1) {
JOptionPane.showMessageDialog(this, "一次只能选择一个文件解压。", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
if(!fileSelected.getName().endsWith(".zip")){
JOptionPane.showMessageDialog(this, "请选择zip格式文件", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
double ratio=0;
try {
ZipFile zf = new ZipFile(fileSelected);
long zsize=fileSelected.length();
long org_size=0;
ZipInputStream zin=new ZipInputStream(new FileInputStream(fileSelected));
int amount;
int million=1024*1024;
byte[] b=new byte[million];
ZipEntry entry;
while((entry=zin.getNextEntry())!=null){
amount = zin.read(b);
while (amount != -1) {
org_size += amount;
amount=zin.read(b);
}
}
ratio=(org_size+0.0)/(zsize+0.0);
String s_ratio=ratio+"";
s_ratio+="000";
s_ratio=s_ratio.substring(0,s_ratio.indexOf(".")+3);
zin.close();
JOptionPane.showMessageDialog(this, "压缩比:"+s_ratio+":1", "压缩信息",
JOptionPane.INFORMATION_MESSAGE);
}
catch (IOException ex) {
JOptionPane.showMessageDialog(this, "文件无法读取", "错误",
JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
void jButton7_actionPerformed(ActionEvent e) {
this.infor();
}
void jButton9_actionPerformed(ActionEvent e) {
this.tableModel.fireTableDataChanged();
}
}
class ComptessFrame_jMenuFileExit_ActionAdapter
implements ActionListener {
CompressFrame adaptee;
ComptessFrame_jMenuFileExit_ActionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
}
}
class ComptessFrame_jMenuHelpAbout_ActionAdapter
implements ActionListener {
CompressFrame adaptee;
ComptessFrame_jMenuHelpAbout_ActionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
}
}
class ComptessFrame_jButton4_actionAdapter
implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton4_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton4_actionPerformed(e);
}
}
class ComptessFrame_fileTable_mouseAdapter
extends java.awt.event.MouseAdapter {
CompressFrame adaptee;
ComptessFrame_fileTable_mouseAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.fileTable_mouseClicked(e);
}
}
class ComptessFrame_jButton2_actionAdapter
implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton2_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class ComptessFrame_jMenuItemDelete_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jMenuItemDelete_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItemDelete_actionPerformed(e);
}
}
class ComptessFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton1_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class ComptessFrame_jMenuItemCD_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jMenuItemCD_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItemCD_actionPerformed(e);
}
}
class ComptessFrame_jMenuItemRename_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jMenuItemRename_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItemRename_actionPerformed(e);
}
}
class ComptessFrame_jButton3_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton3_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class ComptessFrame_jButton8_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton8_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton8_actionPerformed(e);
}
}
class ComptessFrame_jButton5_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
ComptessFrame_jButton5_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton5_actionPerformed(e);
}
}
class CompressFrame_jMenuItemCompress_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
CompressFrame_jMenuItemCompress_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItemCompress_actionPerformed(e);
}
}
class CompressFrame_jButton6_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
CompressFrame_jButton6_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton6_actionPerformed(e);
}
}
class CompressFrame_jMenuItemExtract_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
CompressFrame_jMenuItemExtract_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItemExtract_actionPerformed(e);
}
}
class CompressFrame_jButton7_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
CompressFrame_jButton7_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton7_actionPerformed(e);
}
}
class CompressFrame_jButton9_actionAdapter implements java.awt.event.ActionListener {
CompressFrame adaptee;
CompressFrame_jButton9_actionAdapter(CompressFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton9_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -