?? 2006110218220812234.txt
字號:
package huzhidong;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.Date;
import javax.swing.*;
////////////主函數/////////
public class FileCut {
public static void main(String args[]) {
FileCutFrame fcf = new FileCutFrame();
fcf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fcf.pack();
fcf.setVisible(true);
fcf.setLocation(300, 300);
}
}
////////文件分割器頂層容器類//
class FileCutFrame extends JFrame {
public FileCutFrame() {
setTitle("文件分割器");
Container contentPane = getContentPane();
FileCutPanel panel = new FileCutPanel();
contentPane.add(panel);
}
}
////////計算器界面類//////
class FileCutPanel extends JPanel {
int number;//用于記錄輸入的數目
JButton cut;//分割按鈕
JButton union;//合并按鈕
JButton ensure;//確認按鈕
JButton cancel;//取消按鈕
JButton lengthF;//大小按鈕
JButton numberF;//數目按鈕
JButton open;//瀏覽按鈕1
JButton saveTo;//瀏覽按鈕2
JButton addTFs;//添加按鈕
JTextArea helpText;//左邊文本框
JLabel label1;//原文件標簽
JLabel label2;//分割方式標簽
JLabel label3;//保存到標簽
JTextField source;//原文件文本框
JScrollPane helpTJs;//左邊文本框的頂層容器
JTextField numIn;//數字輸入框
JTextField saveAs;//保存地址輸入框
JPanel jp1;
JPanel jp2;
JPanel jp3;
JPanel jp4;
JPanel jp5;
JPanel jp6;
JPanel jp7;
JPanel jp8;
static String flag1;//記錄操作形式
static String flag2;//記錄分割形式
int fileN = 0;//文件數組中文件個數
File sourceFile;//原文件或文件夾
JComboBox count;//單位選擇
String[] strOF;//記錄要合并的文件名
File[] unionFiles;//要合并的文件組
final JProgressBar aJProgressBar;
/////構造方法/////
public FileCutPanel() {
ActionListener textAction2 = new TextAction2();
ActionListener textAction1 = new TextAction1();
ActionListener buttonAction1 = new ButtonAction1();
setLayout(new BorderLayout());
cut = new JButton("分割");
cut.addActionListener(buttonAction1);
union = new JButton("合并");
union.addActionListener(buttonAction1);
ensure = new JButton("確認");
ensure.addActionListener(new QuerenButtonAction());
cancel = new JButton("取消");
cancel.addActionListener(buttonAction1);
helpText = new JTextArea();
helpText.setEditable(false);
helpTJs = new JScrollPane(helpText);
count = new JComboBox();
count.insertItemAt("Mb", 0);
count.insertItemAt("Kb", 1);
count.insertItemAt("b", 2);
count.setSelectedIndex(0);
count.setEnabled(false);
label1 = new JLabel("原文件");
label2 = new JLabel("分割方式");
label3 = new JLabel("保存到");
source = new JTextField(11);
source.addActionListener(textAction1);
source.setEnabled(false);
source.setToolTipText("輸入文件路徑后按回車可顯示文件信息");
numIn = new JTextField(4);
numIn.addActionListener(textAction2);
numIn.setEnabled(false);
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jp4 = new JPanel();
jp5 = new JPanel();
jp6 = new JPanel();
jp7 = new JPanel();
jp8 = new JPanel();
jp6.setLayout(new BorderLayout());
jp7.setLayout(new BorderLayout());
lengthF = new JButton("大小");
lengthF.addActionListener(buttonAction1);
lengthF.setToolTipText("此為分割后文件大小");
lengthF.setEnabled(false);
numberF = new JButton("數目");
numberF.addActionListener(buttonAction1);
numberF.setToolTipText("此為分割后文件數目");
numberF.setEnabled(false);
saveAs = new JTextField(16);
saveAs.setEnabled(false);
addTFs = new JButton("添加");
addTFs.setEnabled(false);
addTFs.setToolTipText("將文件添加到要合并的文件組中");
addTFs.addActionListener(new addTFsActionL());
open = new JButton("瀏覽");
open.addActionListener(new LiulanAction1Performed());
saveTo = new JButton("瀏覽");
saveTo.addActionListener(new LiulanAction2Performed());
jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
jp1.add(cut);
jp1.add(union);
jp6.add(jp1, BorderLayout.NORTH);
jp6.add(helpTJs);
jp2.add(label1);
jp2.add(source);
jp2.add(open);
jp2.add(addTFs);
jp7.add(jp2, BorderLayout.NORTH);
helpText.setText("\n歡迎使用文件分割器\n" + "作者: 胡志棟\n" + "請選擇您所要的操作\n\n"
+ "選擇上面的按鈕");
aJProgressBar = new JProgressBar();
aJProgressBar.setMaximum(0);
JPanel jp41 = new JPanel();
JPanel jp42 = new JPanel();
JPanel jp43 = new JPanel();
jp41.add(label2);
jp41.add(lengthF);
jp41.add(numberF);
jp41.add(numIn);
jp41.add(count);
jp42.add(label3);
jp42.add(saveAs);
jp42.add(saveTo);
jp43.add(ensure);
jp43.add(cancel);
jp4.setLayout(new GridLayout(4, 1));
jp4.add(jp41);
jp4.add(jp42);
jp4.add(jp43);
jp4.add(aJProgressBar);
jp7.add(jp4, BorderLayout.SOUTH);
add(jp6, BorderLayout.WEST);
add(jp7, BorderLayout.EAST);
strOF = new String[20];
}
////////分割,合并,大小,數目,取消按鈕事件類
class ButtonAction1 implements ActionListener {
public void actionPerformed(ActionEvent e) {
fileN = 0;
source.setEnabled(true);
saveAs.setEnabled(true);
////當為分割時///
if (e.getActionCommand() == "分割") {
count.setEnabled(false);
label2.setText("分割方式");
flag1 = "分割";
cut.setForeground(new Color(255, 0, 0));
union.setForeground(new Color(0, 0, 0));
lengthF.setEnabled(true);
numberF.setEnabled(true);
addTFs.setEnabled(false);
label1.setText("原文件");
//////////顯示幫助信息///
helpText
.setText("分割使用方法:\n原文件輸入要分割的文件,\n然后選擇分割方式,保\n存處輸入分割后的文件\n存放地址,點擊確認即可");
}
////當為合并時///
if (e.getActionCommand() == "合并") {
addTFs.setEnabled(true);
count.setEnabled(false);
numIn.setEnabled(false);
flag1 = "合并";
union.setForeground(new Color(255, 0, 0));
cut.setForeground(new Color(0, 0, 0));
label1.setText("原文件");
label2.setText(" ");
lengthF.setEnabled(false);
numberF.setEnabled(false);
//////顯示幫助信息////////
helpText
.setText("合并使用方法:\n原文件輸入要合并的文件\n或它們所在文件夾,保存\n處輸入的為合并后的文件,\n若該文件已經存在,則\n將該文件與原文件合并.");
}
///當為大小或數目按鈕時//
if (e.getActionCommand() == "大小" || (e.getActionCommand() == "數目")) {
String str = source.getText();
str = str.replace("\\", "/");//將文件名中"\"換為"/"
File aimFile = new File(str);
if (aimFile.exists()) {/////當原文件存在時顯示其信息
if (aimFile.isDirectory()) {//當為文件夾時
helpText.setText("警告!!!\n該目標是一個文件夾\n文件夾名稱:\n"
+ aimFile.getName() + "\n文件數目:"
+ aimFile.listFiles().length + "\n"
+ new Date(aimFile.lastModified()));
}
if (aimFile.isFile()) {//當為文件時
helpText.setText("文件夾名稱:\n" + aimFile.getName()
+ "\n大小:" + aimFile.length() + "byte\n"
+ new Date(aimFile.lastModified()));
}
} else {
helpText.setText("\n\n對不起,找不到原文件!\n");
}
numIn.setEnabled(true);
if (e.getActionCommand() == "大小") {
lengthF.setForeground(new Color(255, 0, 0));
numberF.setForeground(new Color(0, 0, 0));
count.setEnabled(true);
flag2 = "lengthF";
} else {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -