⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wenjianguanli.java

📁 操作系统文件管理,全WINDOWS界面,实现鼠标事件处理,键盘事件处理等功能,屏弃DOS提高交互能力!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -