mainframe.java

来自「一款JAVA开发的类迅雷的多线程下载系统,希望对大家有帮助」· Java 代码 · 共 1,626 行 · 第 1/5 页

JAVA
1,626
字号
    	    openmenumenuitem.setIcon(openmenupic);
    	    openmenumenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		if(selectedDownload != null){
    	    			try {
    	    				java.lang.Runtime.getRuntime().exec("C:/Program Files/Internet Explorer/IEXPLORE.EXE"+selectedDownload.getMenuname());
    	    			} catch (IOException ex) {
    	    				ex.printStackTrace();
    	    			}
    	    		}
    	    	}
    	    });
    	    filemenu.addSeparator();
    	    filemenu.add(closemenuitem);
    	    closemenuitem.setIcon(guanjipic);
    	    closemenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		writeTreeNode();
    	    		dispose();
    	    		System.exit(0);
    	    	}
    	    });
    	  
    	    //设置项目添加
    	    setupmenu.setMnemonic('S');
    	    setupmenu.add(setupmenuitem);
    	    setupmenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){   	    	
    	    		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    	            Dimension mainSize = setup.getSize();
    	    	    setup.setLocation((screenSize.width - mainSize.width) / 2,
    	                 (screenSize.height - mainSize.height) / 2);
    	    	    setup.setResizable(false);
    	    	    setup.Init();
    	    	    setup.setVisible(true);
    	    	}
    	    });
    	    setupmenu.add(guanjimenuitem);
    	    guanjimenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		if(guanjimenuitem.getState()){
    	    		     guanjibutton.setSelected(true);
//    	    		     shutdown = new ShutDown();
//    	    		     shutdown.start();
    	    		     JOptionPane.showMessageDialog(null,"已经启动智能关机");
    	    		}else{
    	    			 guanjibutton.setSelected(false);
//    	    			 shutdown.stop();
    	    			 JOptionPane.showMessageDialog(null,"已经取消智能关机");
    	    		}
    	    	}
    	    });
    	    xinximenuitem.setState(true);
    	    setupmenu.add(xinximenuitem);
    	    xinximenuitem.addItemListener(new ItemListener(){
    	    	public void itemStateChanged(ItemEvent arg0){
    	    		if(!xinximenuitem.getState()){
    	    			infobutton.setSelected(false);
    	    			tabbedpane.setVisible(false);
    	    		}else{
    	    			infobutton.setSelected(true);
    	    			tabbedpane.setVisible(true);
    	    			tablejsp.setDividerLocation(450);
    	    		}
    	    	}
    	    });
    	    spemenuitem.setState(true);
    	    setupmenu.add(spemenuitem);
    	    spemenuitem.addItemListener(new ItemListener(){
    	    	public void itemStateChanged(ItemEvent arg0){
    	    		if(!spemenuitem.getState()){
    	    			JSplashWindowPlus.dialog.spedialogmenu.setSelected(false);
    	    			Spebutton.setSelected(false);
    	    			JSplashWindowPlus.dialog.setVisible(false);
    	    		}else{
    	    			Spebutton.setSelected(true);
    	    			JSplashWindowPlus.dialog.spedialogmenu.setSelected(true);
    	    			JSplashWindowPlus.dialog.setVisible(true);
    	    		}
    	    	}
    	    });
    	    
    	    //帮助项目添加
    	    helpmenu.setMnemonic('H');
    	    helpmenu.add(helpmenuitem);
    	    helpmenu.addSeparator();
    	    helpmenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    	            Dimension mainSize = help.getSize();
    	    	    help.setLocation((screenSize.width - mainSize.width) / 2,
    	                 (screenSize.height - mainSize.height) / 2);
    	    	    help.setResizable(false);
    	    	    help.setVisible(true);
    	    	}
    	    });
    	    helpmenu.add(aboutmenuitem);
    	    aboutmenuitem.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    	            Dimension mainSize = about.getSize();
    	    	    about.setLocation((screenSize.width - mainSize.width) / 2,
    	                 (screenSize.height - mainSize.height) / 2);
    	    	    about.setResizable(false);
    	    	    about.setVisible(true);
    	    	}
    	    });
    	    
    	    //将菜单项添加到BAR中
    	    topmenubar.add(filemenu);
    	    topmenubar.add(setupmenu);
    	    topmenubar.add(helpmenu);
        }
        
        private void tableSelectionChanged() {    //tablechanged
			if(selectedDownload == null){
			}
			if(!clearing){
				if(table.getSelectedRow() == -1){
				}else{
					if(table.getModel()==tablemodel){
				selectedDownload =
				tablemodel.getDownload(table.getSelectedRow());
				tabbedpane.removeAll();
				tabbedpane.addTab("任务信息",selectedDownload.pane);
				if(selectedDownload.getStatus()==Download.DOWNLOADING&&selectedDownload.SplitterPane!=null)
				for(int i=0;i<selectedDownload.SplitterPane.length;i++){
					if(selectedDownload.SplitterPane[i] != null)
				   tabbedpane.addTab("线程"+(i+1),selectedDownload.SplitterPane[i]);
				}
					}
					else{
						selectedDownload =
							tablemodel1.getDownload(table.getSelectedRow());
						tabbedpane.removeAll();												
						tabbedpane.addTab("任务信息",selectedDownload.pane);
					}
				updateButtons();
				}
			}
		}
        
        //暂停
        private void actionPause(){    
        	selectedDownload.pause();
        	updateButtons();
        }
        
        //重新开始
        private void actionResume(){
        	selectedDownload.resume();
        	updateButtons();
        }
        
        //删除
        private void actionClear(){
        	clearing = true;
        	if(selectionNode==node3){
	    		if(JOptionPane.showConfirmDialog(main,"是否删除文件!","选择",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE)
	    				==JOptionPane.YES_OPTION){
	    			File file = new File(selectedDownload.getMenuname()+"\\"+selectedDownload.getFileName());
	    			System.out.println(selectedDownload.getMenuname()+"\\"+selectedDownload.getFileName());
	    			file.delete();
	    		  }
	    	}
        	if(table.getModel()==tablemodel){
        	tablemodel.clearDownload(table.getSelectedRow());  
        	tablemodel.fireTableDataChanged();
        	}else{
        		tablemodel1.clearDownload(table.getSelectedRow());
        		tablemodel1.fireTableDataChanged();
        	}
        	clearing = false;
        	selectedDownload = null;
        	updateButtons();
        }
        
        //刷新按钮状态
        private void updateButtons(){
        	if(selectedDownload != null){
        		int status = selectedDownload.getStatus();
        		switch(status){
        		case Download.DOWNLOADING:
        			stopbutton.setEnabled(true);
        			stopmenuitem.setEnabled(true);
        			stopmenu.setEnabled(true);
        			startbutton.setEnabled(false);
        			startmenuitem.setEnabled(false);
        			startmenu.setEnabled(false);
        			detbutton.setEnabled(true);
        			detmenuitem.setEnabled(true);
        			detmenu.setEnabled(true);
        			openbutton.setEnabled(false);
        			openmenuitem.setEnabled(false);
        			openmenu.setEnabled(false);
        			openmenubutton.setEnabled(true);
        			openmenumenuitem.setEnabled(true);
        			openmenumenu.setEnabled(true);
        			redownmenu.setEnabled(false);
        			break;
        		case Download.PAUSED:
        			stopbutton.setEnabled(false);
        			stopmenuitem.setEnabled(false);
        			stopmenu.setEnabled(false);
        			startbutton.setEnabled(true);
        			startmenuitem.setEnabled(true);
        			startmenu.setEnabled(true);
        			detbutton.setEnabled(true);
        			detmenuitem.setEnabled(true);
        			detmenu.setEnabled(true);
        			openbutton.setEnabled(false);
        			openmenuitem.setEnabled(false);
        			openmenu.setEnabled(false);
        			openmenubutton.setEnabled(true);
        			openmenumenuitem.setEnabled(true);
        			openmenumenu.setEnabled(true);
        			redownmenu.setEnabled(false);
        			break;
        		case Download.ERROR:
        			stopbutton.setEnabled(false);
        			stopmenuitem.setEnabled(false);
        			stopmenu.setEnabled(false);
        			startbutton.setEnabled(false);
        			startmenuitem.setEnabled(false);
        			startmenu.setEnabled(false);
        			detbutton.setEnabled(true);
        			detmenuitem.setEnabled(true);
        			detmenu.setEnabled(true);
        			openbutton.setEnabled(false);
        			openmenuitem.setEnabled(false);
        			openmenu.setEnabled(false);
        			openmenubutton.setEnabled(true);
        			openmenumenuitem.setEnabled(true);
        			openmenumenu.setEnabled(true);
        			redownmenu.setEnabled(true);
        			break;
        		case Download.CANCEL:
        			stopbutton.setEnabled(false);
        			stopmenuitem.setEnabled(false);
        			stopmenu.setEnabled(false);
        			startbutton.setEnabled(false);
        			startmenuitem.setEnabled(false);
        			startmenu.setEnabled(false);
        			detbutton.setEnabled(true);
        			detmenuitem.setEnabled(true);
        			detmenu.setEnabled(true);
        			openbutton.setEnabled(false);
        			openmenuitem.setEnabled(false);
        			openmenu.setEnabled(false);
        			openmenubutton.setEnabled(true);
        			openmenumenuitem.setEnabled(true);
        			openmenumenu.setEnabled(true);
        			redownmenu.setEnabled(true);
        			break;
        		default:
        			stopbutton.setEnabled(false);
        		    stopmenuitem.setEnabled(false);
        		    stopmenu.setEnabled(false);
        		    startbutton.setEnabled(false);
        		    startmenuitem.setEnabled(false);
        		    startmenu.setEnabled(false);
        		    detbutton.setEnabled(true);
        		    detmenuitem.setEnabled(true);
        		    detmenu.setEnabled(true);
        		    openbutton.setEnabled(true);
        		    openmenuitem.setEnabled(true);
        		    openmenu.setEnabled(true);
        		    openmenubutton.setEnabled(true);
        		    openmenumenuitem.setEnabled(true);
        		    openmenumenu.setEnabled(true);
        		    redownmenu.setEnabled(true);
        		}
        	}else{
        			startbutton.setEnabled(false);
        			startmenuitem.setEnabled(false);
        			startmenu.setEnabled(false);
        			stopbutton.setEnabled(false);
        			stopmenuitem.setEnabled(false);
        			stopmenu.setEnabled(false);
        			detbutton.setEnabled(false);
        			detmenuitem.setEnabled(false);
        			detmenu.setEnabled(false);
        			openbutton.setEnabled(false);
        			openmenubutton.setEnabled(false);
        			openmenu.setEnabled(false);
        			openmenuitem.setEnabled(false);
        			openmenumenuitem.setEnabled(false);
        			openmenumenu.setEnabled(false);
        			redownmenu.setEnabled(true);
        		}
/*        	if(selectionNode == node3){    //当选择垃圾箱时改变相应项的状态
        		startbutton.setEnabled(false);
        	    startmenu.setEnabled(false);
        	    startmenuitem.setEnabled(false);
        	  }*/
        	}
        
        //刷新TREE右键弹出菜单状态
        public void updateTreeYoujian(){
        	newleibie.setEnabled(false);
        	openleimenu.setEnabled(false);
			detleibie.setEnabled(false);
			qingkong.setEnabled(false);
			shuxing.setEnabled(false);
			if(selectionNode != null){
    				if(selectionNode.equals(node1)||selectionNode.equals(node2)||
    						selectionNode.equals(node3)||selectionNode.equals(root)){
    					if(selectionNode.equals(node2)){
    						newleibie.setEnabled(true);
    						openleimenu.setEnabled(true);
    						shuxing.setEnabled(true);
    					}else{
    					newleibie.setEnabled(false);
    					openleimenu.setEnabled(false);
    					detleibie.setEnabled(false);
    					shuxing.setEnabled(false);
    					if(selectionNode.equals(node3)){
    						qingkong.setEnabled(true);
    					}
    					else{ 
    						qingkong.setEnabled(false);
    					   } 
    					}
    				}else{
    					newleibie.setEnabled(false);
    					openleimenu.setEnabled(true);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?