📄 wenjianguanli.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.applet.*;
import java.util.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
/**
*主类显示树组件,实现树,鼠标,按钮,线程,文本框接口
*/
public class wenjianguanli extends JApplet implements TreeSelectionListener,Runnable,ActionListener,MouseListener//,MouseMotionListener
{
String neirong,changename,jueduilujing[],changedaxiao;//jueduilujing~绝对路径
xiugai cname;
boolean atime=true,btime[];//atime修改的次数,btime标志是否重新分配
int i,j,ii,jj,k=0,tt=0,mb[],wjjh=6,wjjb[],sch,wjh=412,wjb[];//sch是删除/修改的块号,k指向当前面板号,wjb~当前文件的标号
//mb为记载使用顺序前后的动态数组,tt标记当前面板号,wjjh~文件夹号,wjjb~当前面板文件夹标号
int schsch,kk,mm,daxiao[],neicun[][],end=0;//标记.txt文档的大小;neicun指向内存的空间分配
Thread clockThread;
JPanel panel,xsp,rpanel[];//xsp为显示下方动作条的面板
JTextField t;
JButton kaishi,xsnc,empty2,empty3,empty4,xitongshijian,qianjin,houtui,xiangshang;
//xsnc~显示内存数组
JLabel dizhi;
JScrollPane scrollPane1,scrollPane2;
JSplitPane splitPane;
JLabel copyrights;
JLabel jl[];
DefaultMutableTreeNode branch[];
JPanel panel1,panel2,panel21,panel22;
JPopupMenu shubiaoyoujian,xiugaiming;
JMenuItem mi,fa,sol,la,xi,dou,re;
private JMenuBar jMenuBar1;
private JMenu jMenu1,jMenu2,jMenu3,jMenu4,jMenu5,jMenu6;
private JMenuItem jMenuItem1,jMenuItem2,jMenuItem3,jMenuItem4,jMenuItem5,jMenuItem6,jMenuItem7,jMenuItem8;
private JMenuItem jMenuItem9,jMenuItem10,jMenuItem11,jMenuItem12,jMenuItem13,jMenuItem14;
public void init()
{
try
{
jbInit();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
public void jbInit()throws Exception
{
/**布尔变量初始化*/
btime=new boolean[500];
for(i=0;i<500;i++)
{
btime[i]=true;
}
/**字符串初始化*/
jueduilujing=new String[500];
for(i=0;i<500;i++)
{
jueduilujing[i]="";
}
jueduilujing[0]="我的电脑";
/**数组初始化*/
neicun=new int[16][16];
for(i=0;i<16;i++)
{
for(j=0;j<16;j++)
{
neicun[i][j]=ran();
}
}
for(i=0;i<16;i++)
{
neicun[0][i]=1;
}
daxiao=new int[500];
for(i=0;i<500;i++)
{
daxiao[i]=0;
}
wjb=new int[500];
for(i=0;i<500;i++)
{
wjb[i]=1;
}
wjjb=new int[500];
for(i=0;i<500;i++)
{
wjjb[i]=1;
}
mb=new int[500];//指向面板
for(i=0;i<500;i++)
{
mb[i]=0;
}
setLayout(new BorderLayout());
/**菜单组件初始化*/
jMenuBar1 = new JMenuBar();
jMenu1 = new JMenu("文件 (F)");
jMenu2 = new JMenu("编辑 (E)");
jMenu3 = new JMenu("查看 (V)");
jMenu4 = new JMenu("收藏 (A)");
jMenu5 = new JMenu("工具 (T)");
jMenu6 = new JMenu("帮助 (H)");
jMenuItem1 =new JMenuItem("打开",new ImageIcon("2.gif"));
jMenuItem2 =new JMenuItem("编辑");
jMenuItem3 =new JMenuItem("删除");
jMenuItem4 =new JMenuItem("重命名");
jMenuItem5 =new JMenuItem("关闭");
jMenuItem6 =new JMenuItem("剪贴");
jMenuItem7 =new JMenuItem("复制");
jMenuItem8 =new JMenuItem("粘贴");
jMenuItem9 =new JMenuItem("刷新");
jMenuItem10 =new JMenuItem("添加收藏夹");
jMenuItem11 =new JMenuItem("整理收藏夹");
jMenuItem12 =new JMenuItem("文件夹选项");
jMenuItem13 =new JMenuItem("关于作者");
jMenuItem14 =new JMenuItem("关于Windows XH");
jMenuItem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
jMenuItem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
jMenuItem3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK));
jMenuItem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,InputEvent.CTRL_MASK));
jMenuItem5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
jMenuItem6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
jMenuItem7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
jMenuItem8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
jMenuItem9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
jMenuItem10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
jMenuItem11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
jMenuItem12.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
jMenuItem13.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
jMenuItem14.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,InputEvent.CTRL_MASK));
jMenu1.add(jMenuItem1);jMenu1.addSeparator();jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu1.add(jMenuItem4);jMenu1.addSeparator();jMenu1.add(jMenuItem5);
jMenu2.add(jMenuItem6);jMenu2.addSeparator();jMenu2.add(jMenuItem7);jMenu2.add(jMenuItem8);
jMenu3.add(jMenuItem9);
jMenu4.add(jMenuItem10);jMenu4.add(jMenuItem11);
jMenu5.add(jMenuItem12);
jMenu6.add(jMenuItem13);jMenu6.addSeparator();jMenu6.add(jMenuItem14);
jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);
jMenuBar1.add(jMenu4);jMenuBar1.add(jMenu5);jMenuBar1.add(jMenu6);
this.setJMenuBar(jMenuBar1);
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
jMenuItem5.addActionListener(this);
jMenuItem6.addActionListener(this);
jMenuItem7.addActionListener(this);
jMenuItem8.addActionListener(this);
jMenuItem9.addActionListener(this);
jMenuItem10.addActionListener(this);
jMenuItem11.addActionListener(this);
jMenuItem12.addActionListener(this);
jMenuItem13.addActionListener(this);
jMenuItem14.addActionListener(this);
/**End creat menu*/
cname=new xiugai();
cname.setVisible(false);
/**鼠标右键的弹出式菜单*/
shubiaoyoujian =new JPopupMenu();
mi=new JMenuItem("刷新(E)");
shubiaoyoujian.add(mi);
mi.addActionListener(this);
shubiaoyoujian.addSeparator();
fa=new JMenuItem("新建文件夹",new ImageIcon("2.gif"));
shubiaoyoujian.add(fa);
fa.addActionListener(this);
sol=new JMenuItem("新建文件(.txt)");
shubiaoyoujian.add(sol);
sol.addActionListener(this);
la=new JMenuItem("删除(D)");
shubiaoyoujian.add(la);
la.addActionListener(this);
shubiaoyoujian.addSeparator();
xi=new JMenuItem("修改(C)");
shubiaoyoujian.add(xi);
xi.addActionListener(this);
shubiaoyoujian.addSeparator();
dou=new JMenuItem("扫描病毒(S)");
shubiaoyoujian.add(dou);
dou.addActionListener(this);
shubiaoyoujian.addMouseListener(this);
shubiaoyoujian.addSeparator();
re=new JMenuItem("属性(R)");
shubiaoyoujian.add(re);
re.addActionListener(this);
shubiaoyoujian.addMouseListener(this);
/**end creat Popupmenu*/
/**树型组件的初始化*/
DefaultMutableTreeNode root=new DefaultMutableTreeNode("我的电脑");
branch=new DefaultMutableTreeNode[500];
branch[0]=new DefaultMutableTreeNode("3.5软盘(A:)");
branch[1]=new DefaultMutableTreeNode("本地磁盘(C:)");
branch[2]=new DefaultMutableTreeNode("本地磁盘(D:)");
branch[3]=new DefaultMutableTreeNode("本地磁盘(E:)");
branch[4]=new DefaultMutableTreeNode("本地磁盘(F:)");
root.add(branch[0]);
root.add(branch[1]);
root.add(branch[2]);
root.add(branch[3]);
root.add(branch[4]);
branch[100]= new DefaultMutableTreeNode("WINDOWS");
branch[106]= new DefaultMutableTreeNode("系统文件(隐藏)");
branch[101]= new DefaultMutableTreeNode("Program Files");
branch[107]= new DefaultMutableTreeNode("Winrar3.5");
branch[108]= new DefaultMutableTreeNode("万能声卡");
branch[109]= new DefaultMutableTreeNode("JCreator");
branch[102]= new DefaultMutableTreeNode("Documents and Settings");
branch[110]= new DefaultMutableTreeNode("All Users");
branch[111]= new DefaultMutableTreeNode("sofr ware");
branch[103]= new DefaultMutableTreeNode("Microsoft Visual Studio");
branch[112]= new DefaultMutableTreeNode("Bin");
branch[104]= new DefaultMutableTreeNode("Borland");
branch[113]= new DefaultMutableTreeNode("JBuilder 2006");
branch[105]= new DefaultMutableTreeNode("cmd.txt");
branch[200]= new DefaultMutableTreeNode("WAR3");
branch[205]= new DefaultMutableTreeNode("WAR3.exe");
branch[201]= new DefaultMutableTreeNode("Popkart.exe");
branch[206]= new DefaultMutableTreeNode("Popkart");
branch[202]= new DefaultMutableTreeNode("QQ");
branch[207]= new DefaultMutableTreeNode("QQ.exe");
branch[203]= new DefaultMutableTreeNode("QQ Games");
branch[208]= new DefaultMutableTreeNode("QQ Games.exe");
branch[204]= new DefaultMutableTreeNode("幻想游戏");
branch[209]= new DefaultMutableTreeNode("zuma");
branch[210]= new DefaultMutableTreeNode("扑克");
branch[300]= new DefaultMutableTreeNode("金山毒霸");
branch[305]= new DefaultMutableTreeNode("金山毒霸.exe");
branch[301]= new DefaultMutableTreeNode("金山快译");
branch[306]= new DefaultMutableTreeNode("金山快译.exe");
branch[302]= new DefaultMutableTreeNode("Office 2003");
branch[307]= new DefaultMutableTreeNode("Microsoft Word");
branch[308]= new DefaultMutableTreeNode("Microsoft Office Access");
branch[309]= new DefaultMutableTreeNode("Microsoft PowerPoint");
branch[303]= new DefaultMutableTreeNode("迅雷");
branch[310]= new DefaultMutableTreeNode("迅雷下载");
branch[304]= new DefaultMutableTreeNode("flash 9");
branch[311]= new DefaultMutableTreeNode("flash 9.exe");
branch[400]= new DefaultMutableTreeNode("JDK 1.6.0");
branch[405]= new DefaultMutableTreeNode("BIN");
branch[406]= new DefaultMutableTreeNode("Demo");
branch[401]= new DefaultMutableTreeNode("VC++ 6.0");
branch[407]= new DefaultMutableTreeNode("VC++ 6.0.exe");
branch[402]= new DefaultMutableTreeNode("特标C");
branch[408]= new DefaultMutableTreeNode("TC.exe");
branch[403]= new DefaultMutableTreeNode("JBuilder 2006");
branch[409]= new DefaultMutableTreeNode("JBuilder.exe");
branch[404]= new DefaultMutableTreeNode("Rational Rose");
branch[410]= new DefaultMutableTreeNode("Rose.exe");
branch[100].add(branch[106]);
branch[101].add(branch[107]);branch[101].add(branch[108]);branch[101].add(branch[109]);
branch[102].add(branch[110]);branch[102].add(branch[111]);
branch[103].add(branch[112]);
branch[104].add(branch[113]);
branch[200].add(branch[205]);
branch[201].add(branch[206]);
branch[202].add(branch[207]);
branch[203].add(branch[208]);
branch[204].add(branch[209]);branch[204].add(branch[210]);
branch[300].add(branch[305]);
branch[301].add(branch[306]);
branch[302].add(branch[307]);branch[302].add(branch[308]);branch[302].add(branch[309]);
branch[303].add(branch[310]);
branch[304].add(branch[311]);
branch[400].add(branch[405]);branch[400].add(branch[406]);
branch[401].add(branch[407]);
branch[402].add(branch[408]);
branch[403].add(branch[409]);
branch[404].add(branch[410]);
branch[1].add(branch[100]);
branch[1].add(branch[101]);
branch[1].add(branch[102]);
branch[1].add(branch[103]);
branch[1].add(branch[104]);
branch[1].add(branch[105]);
branch[2].add(branch[200]);
branch[2].add(branch[201]);
branch[2].add(branch[202]);
branch[2].add(branch[203]);
branch[2].add(branch[204]);
branch[3].add(branch[300]);
branch[3].add(branch[301]);
branch[3].add(branch[302]);
branch[3].add(branch[303]);
branch[3].add(branch[304]);
branch[4].add(branch[400]);
branch[4].add(branch[401]);
branch[4].add(branch[402]);
branch[4].add(branch[403]);
branch[4].add(branch[404]);
/**end creat tree*/
JTree tree =new JTree(root);
tree.addTreeSelectionListener(this);
scrollPane1=new JScrollPane(tree);
xsp=new JPanel(new GridLayout(1,6));
xsnc=new JButton("显示磁盘情况");
empty2=new JButton("已打开文件夹个数");
empty3=new JButton("当前面板文件夹个数");
empty4=new JButton("当前面板非文件夹个数");
kaishi=new JButton(new ImageIcon("5.gif"));
/**系统时间处理*/
xitongshijian=new JButton();
xsp.add(kaishi);xsp.add(xsnc);xsp.add(empty2);
xsp.add(empty3);xsp.add(empty4);
xsp.add(xitongshijian);
t = new JTextField(80);
t.setText("我的电脑");
scrollPane2=new JScrollPane(t);
dizhi=new JLabel("地址(D)");
dizhi.setBackground(Color.red);
/**面板处理*/
/**左上方按钮*/
qianjin=new JButton("前进",new ImageIcon("qianjin.gif"));//(new ImageIcon("qianjin.gif"));
houtui=new JButton(new ImageIcon("houtui.gif"));//(new ImageIcon("houtui.gif"));
xiangshang=new JButton("向上",new ImageIcon("xiangshang.gif"));//(new ImageIcon("xiangshang.gif"));
houtui.addActionListener(this);
qianjin.addActionListener(this);
xiangshang.addActionListener(this);
/**上方布局*/
panel=new JPanel(new GridLayout(2,1));
panel1=new JPanel();
panel2=new JPanel(new GridLayout(1,2));
panel21=new JPanel(new GridLayout(1,3));
panel22=new JPanel();
copyrights=new JLabel("Copy Rights@ by Prince Arthas");
rpanel=new JPanel[500];
for(i=0;i<500;i++)
{
rpanel[i]=new JPanel();
rpanel[i].setLayout(new GridLayout(6,5));
rpanel[i].setBackground(Color.white);
rpanel[i].addMouseListener(this);
}
panel.add(panel2);panel.add(panel1);
panel1.add(dizhi);
panel1.add(scrollPane2);
panel2.add(panel21);
panel2.add(panel22);
panel21.add(houtui);panel21.add(qianjin);panel21.add(xiangshang);
panel22.add(copyrights);
splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scrollPane1,rpanel[0]);
add(splitPane,BorderLayout.CENTER);
add(panel,BorderLayout.NORTH);
add(xsp,BorderLayout.SOUTH);
/**处理各盘图片*/
/**每个硬盘里文件夹标签的初始化*/
jl=new JLabel[500];
for(i=0;i<500;i++)
{
jl[i]=new JLabel();
jl[i].setIcon(new ImageIcon("1.gif"));
jl[i].addMouseListener(this);
}
jl[0].setIcon(new ImageIcon("4.gif"));//A
jl[1].setIcon(new ImageIcon("c.gif"));//c
jl[2].setIcon(new ImageIcon("d.gif"));//d
jl[3].setIcon(new ImageIcon("e.gif"));//e
jl[4].setIcon(new ImageIcon("f.gif"));//f
jl[100].setText("WINDOWS");
jl[101].setText("Program Files");
jl[102].setText("Documents and Settings");
jl[103].setText("Microsoft Visual Studio");
jl[104].setText("Borland");
jl[105].setText("cmd.txt");
jl[105].setIcon(new ImageIcon("3.gif"));
jl[106].setText("系统文件(隐藏)");
jl[107].setText("Winrar3.5");
jl[108].setText("万能声卡");
jl[109].setText("JCreator");
jl[110].setText("All Users");
jl[111].setText("sofr ware");
jl[112].setText("Bin");
jl[113].setText("JBuilder 2006");
jl[200].setText("WAR3");
jl[201].setText("Popkart");
jl[202].setText("QQ");
jl[203].setText("QQ Games");
jl[204].setText("幻想游戏");
jl[205].setText("WAR3.exe");
jl[205].setIcon(new ImageIcon("war3.gif"));
jl[206].setText("");
jl[206].setIcon(new ImageIcon("pop.gif"));
jl[207].setText("QQ.exe");
jl[207].setIcon(new ImageIcon("qq.gif"));
jl[208].setText("QQ Games.exe");
jl[208].setIcon(new ImageIcon("qq game.gif"));
jl[209].setText("zuma");
jl[210].setText("扑克");
jl[300].setText("金山毒霸");
jl[301].setText("金山快译");
jl[302].setText("Office 2003");
jl[303].setText("迅雷");
jl[304].setText("flash 9");
jl[305].setText("金山毒霸.exe");
jl[306].setText("金山快译.exe");
jl[307].setText("Microsoft Word");
jl[308].setText("Microsoft Office Access");
jl[309].setText("Microsoft PowerPoint");
jl[310].setText("迅雷下载");
jl[311].setText("flash 9.exe");
jl[400].setText("JDK 1.6.0");
jl[401].setText("VC++ 6.0");
jl[402].setText("特标C");
jl[403].setText("JBuilder 2006");
jl[404].setText("Rational Rose");
jl[405].setText("BIN");
jl[406].setText("Demo");
jl[407].setText("VC++ 6.0.exe");
jl[408].setText("TC.exe");
jl[409].setText("JBuilder.exe");
jl[409].setIcon(new ImageIcon("java.gif"));
jl[410].setText("Rose.exe");
rpanel[0].add(jl[0]);
rpanel[0].add(jl[1]);
rpanel[0].add(jl[2]);
rpanel[0].add(jl[3]);
rpanel[0].add(jl[4]);
/**C盘文件初始化*/
rpanel[100].add(jl[100]);
rpanel[100].add(jl[101]);
rpanel[100].add(jl[102]);
rpanel[100].add(jl[103]);
rpanel[100].add(jl[104]);
rpanel[100].add(jl[105]);
rpanel[101].add(jl[106]);
rpanel[102].add(jl[107]);
rpanel[102].add(jl[108]);
rpanel[102].add(jl[109]);
rpanel[103].add(jl[110]);
rpanel[103].add(jl[111]);
rpanel[104].add(jl[112]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -