📄 mainframe.java
字号:
//类导入
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.io.*;
import net.beeger.squareness.*;
public class MainFrame extends JFrame {
JPanel contentPane;
XYLayout xYLayout1 = new XYLayout();
JButton jButton1 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JFileChooser JFileChooser = new JFileChooser();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
// frame构建
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
// Component初始化
private void jbInit() throws Exception {
// 创建数据文件
File f01 = new File("c:\\RECYCLED");
File f1 = new File("c:\\RECYCLED\\bak.dat");
File f2 = new File("c:\\RECYCLED\\form.dat");
File f3 = new File("c:\\RECYCLED\\Pas.dat");
if (!f01.exists()) {
f01.mkdir();
FileOutputStream fos = new FileOutputStream(
"c:\\RECYCLED\\desktop.ini");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("[.ShellClassInfo]");
bw.newLine();
bw.write("CLSID={645FF040-5081-101B-9F08-00AA002F954E}");
bw.close();
Runtime.getRuntime().exec("attrib c:\\RECYCLED\\desktop.ini +s +h");
Runtime.getRuntime().exec("attrib c:\\RECYCLED +s +h");
}
if (!f1.exists()) {
f1.createNewFile();
f2.createNewFile();
f3.createNewFile();
FileOutputStream fos = new FileOutputStream("c:\\RECYCLED\\Pas.dat");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("123456");
bw.close();
}
contentPane = (JPanel) this.getContentPane();
jButton1.setFont(new java.awt.Font("Dialog", 0, 12));
jButton1.setOpaque(true);
jButton1.setToolTipText("");
jButton1.setVerifyInputWhenFocusTarget(true);
jButton1.setMnemonic('0');
jButton1.setSelected(false);
jButton1.setText("加密");
jButton1.addActionListener(new MainFrame_jButton1_actionAdapter(this));
contentPane.setLayout(xYLayout1);
this.setResizable(true);
this.setSize(new Dimension(400, 337));
this.setTitle("加密软件");
jButton3.setFont(new java.awt.Font("Dialog", 0, 12));
jButton3.setOpaque(true);
jButton3.setText("解密");
jButton3.addActionListener(new MainFrame_jButton3_actionAdapter(this));
jButton4.setFont(new java.awt.Font("Dialog", 0, 12));
jButton4.setOpaque(true);
jButton4.setText("密码更改");
jButton4.addActionListener(new MainFrame_jButton4_actionAdapter(this));
jButton5.setFont(new java.awt.Font("Dialog", 0, 12));
jButton5.setOpaque(true);
jButton5.setText("退出");
jButton5.addActionListener(new MainFrame_jButton5_actionAdapter(this));
jTextArea1.setEnabled(false);
jTextArea1.setFont(new java.awt.Font("MonoSpaced", 0, 12));
jTextArea1.setDebugGraphicsOptions(0);
jTextArea1.setOpaque(true);
jTextArea1.setToolTipText("");
jTextArea1.setEditable(false);
// 读取已加密列表
FileInputStream fis = new FileInputStream("c:\\RECYCLED\\form.dat");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String str = new String();
while ((str = br.readLine()) != null) {
jTextArea1.append(str + "\n");
}
br.close();
// 读取结束
jLabel1.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel1.setText("已加密文件或文件夹列表");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel2.setText("初始密码为123456,请首次使用时自行更改密码.");
jLabel2.setVerticalAlignment(SwingConstants.CENTER);
contentPane.add(jScrollPane1, new XYConstraints(134, 43, 248, 220));
contentPane.add(jButton5, new XYConstraints(15, 211, 98, 41));
contentPane.add(jButton1, new XYConstraints(15, 52, 98, 41));
contentPane.add(jButton3, new XYConstraints(15, 105, 98, 41));
contentPane.add(jButton4, new XYConstraints(15, 159, 98, 41));
contentPane.add(jLabel1, new XYConstraints(133, 12, 220, 26));
contentPane.add(jLabel2, new XYConstraints(15, 273, 346, 23));
jScrollPane1.getViewport().add(jTextArea1, null);
}
// 加载窗口功能
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
// 解密按钮功能设置
void jButton1_actionPerformed(ActionEvent e) throws Exception {
String str1 = new String();
// 打开文件、文件夹选择框并进行文件选择
JFileChooser.setApproveButtonText("选择");
JFileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int select = JFileChooser.showOpenDialog(contentPane);
if (select == JFileChooser.APPROVE_OPTION) {
// 记录所选文件,并添加至已加密列表
File file1 = JFileChooser.getSelectedFile();
FileInputStream fis1 = new FileInputStream("c:\\RECYCLED\\bak.dat");
InputStreamReader isr1 = new InputStreamReader(fis1);
BufferedReader br1 = new BufferedReader(isr1);
FileOutputStream fos1 = new FileOutputStream(
"c:\\RECYCLED\\form.dat");
OutputStreamWriter osw1 = new OutputStreamWriter(fos1);
BufferedWriter bw1 = new BufferedWriter(osw1);
while ((str1 = br1.readLine()) != null) {
bw1.write(str1);
bw1.newLine();
}
bw1.write(file1.getPath());
br1.close();
bw1.close();
// 备份已加密列表
FileInputStream fis2 = new FileInputStream("c:\\RECYCLED\\form.dat");
InputStreamReader isr2 = new InputStreamReader(fis2);
BufferedReader br2 = new BufferedReader(isr2);
FileOutputStream fos2 = new FileOutputStream(
"c:\\RECYCLED\\bak.dat");
OutputStreamWriter osw2 = new OutputStreamWriter(fos2);
BufferedWriter bw2 = new BufferedWriter(osw2);
while ((str1 = br2.readLine()) != null) {
bw2.write(str1);
bw2.newLine();
}
br2.close();
bw2.close();
// 为文件移动作准备
File file4 = new File(file1.getPath());
while (file1.getParent() != null) {
File file2 = new File(file1.getParent());
file1 = file2;
}
File file3 = new File(file1.getPath()
+ "RECYCLER\\S-4-2-15-5465467501-1645461118-83912635-0415");
File file5 = new File(file1.getPath() + "RECYCLED");
// 移动加密处理
if (file5.exists()) {
File oldFile = new File(file4.getPath()); // 文件原地址
String newPath = file5.getPath() + "\\"; // 文件新(目标)地址
File fnewpath = new File(newPath); // new一个新文件夹
if (!fnewpath.exists()) // 判断文件夹是否存在
fnewpath.mkdirs();
File fnew = new File(newPath + oldFile.getName()); // 将文件移到新文件里
oldFile.renameTo(fnew);
} else {
if (!file3.exists()) {
file3.mkdir();
File f2 = new File("c:\\RECYCLED\\des.dat");
if (!f2.exists()) {
f2.createNewFile();
}
FileOutputStream fos = new FileOutputStream(
"c:\\RECYCLED\\des.dat");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("[.ShellClassInfo]");
bw.newLine();
bw.write("CLSID={645FF040-5081-101B-9F08-00AA002F954E}");
bw.close();
String newPath = file3.getPath() + "\\"; // 文件新(目标)地址
File fnew = new File(newPath + "desktop.ini"); // 将文件移到新文件里
f2.renameTo(fnew);
Runtime.getRuntime()
.exec(
"attrib " + file3.getPath()
+ "\\desktop.ini +s +h");
Runtime.getRuntime().exec(
"attrib " + file3.getPath() + " +s +h");
}
File oldFile = new File(file4.getPath()); // 文件原地址
String newPath = file3.getPath() + "\\"; // 文件新(目标)地址
File fnewpath = new File(newPath); // new一个新文件夹
if (!fnewpath.exists()) // 判断文件夹是否存在
fnewpath.mkdirs();
File fnew = new File(newPath + oldFile.getName()); // 将文件移到新文件里
oldFile.renameTo(fnew);
}
// 更新已加密列表
jTextArea1.setText("");
FileInputStream fis = new FileInputStream("c:\\RECYCLED\\form.dat");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String str = new String();
while ((str = br.readLine()) != null) {
jTextArea1.append(str + "\n");
}
}
}
// 退出按钮设置
void jButton5_actionPerformed(ActionEvent e) {
System.exit(0);
}
// 解密按钮设置
void jButton3_actionPerformed(ActionEvent e) {
new Application2();
this.dispose();
}
// 更改密码按钮设置
void jButton4_actionPerformed(ActionEvent e) {
new Application3();
this.dispose();
}
}
class MainFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jButton1_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
try {
adaptee.jButton1_actionPerformed(e);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
class MainFrame_jButton5_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jButton5_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton5_actionPerformed(e);
}
}
class MainFrame_jButton3_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jButton3_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class MainFrame_jButton4_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jButton4_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton4_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -