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

📄 maingui.java

📁 CD Manager光盘资料管家婆源代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
				rename.setObject(albumTree);
				rename.initial();
			} else {
				TheObject rename = new RenameAlbumItem();
				rename.setObject(albumTree);
				rename.initial();
			}
		}

		public void mouseDown(MouseEvent e) {
			descriptionText.setEditable(false);
		}

		public void mouseUp(MouseEvent e) {
			
			documentTree.removeAll();
			table.removeAll();
			MainGUI.documentMap.clear();
			
			if ((((Tree) e.widget).getSelection()).length != 0){
				if (((Tree) e.widget).getSelection()[0].getImage().equals(
						SWTResourceManager.getImage(MainGUI.class,
								ImageFactory.CD))) {
					Document doc;
					Document docChild;
					TreeItem childItem;
					TreeItem treeItem;
					canUP = false;
					final CD cd = MainGUI.CDMap.get(((Tree) e.widget).getSelection()[0]);
					
					ArrayList<Document> docArray = CDManager.action
					.NoFileArrayList(CDManager.action
							.getCDRoots(cd));
			
					for (int i = 0; i < docArray.size(); i++) {
						doc = docArray.get(i);
						treeItem = new TreeItem(documentTree, SWT.MULTI);
						treeItem.setImage(SWTResourceManager.getImage(
								MainGUI.class, ImageFactory.FOLDER));
						treeItem.setText(doc.get("name"));
						MainGUI.documentMap.put(treeItem, doc);
						ArrayList<Document> docChildren = CDManager.action
								.NoFileArrayList(CDManager.action.getChildren(doc));
						if (docChildren.size() != 0) {
							for (int j = 0; j < docChildren.size(); j++) {
								docChild = docChildren.get(j);
								childItem = new TreeItem(treeItem,
										SWT.MULTI);
								childItem.setImage(SWTResourceManager
										.getImage(MainGUI.class,
												ImageFactory.FOLDER));
								childItem.setText(docChild.get("name"));
								MainGUI.documentMap.put(childItem, docChild);
							}
						}
					}
					docArray = CDManager.action.getCDRoots(cd);
					SetTableItem setTableItem = new SetTableItem();
					setTableItem.setObject(table);
					setTableItem.setDocs(docArray);
					setTableItem.initial();
					
					DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
					cdNameText.setText(cd.getName());
					fileNumText.setText(""+cd.getFileCount());
					folderNumText.setText("" + cd.getFolderCount());
					belongAlbumText.setText(CDManager.action.getAlbumMap().get(cd.getAlbumID()).getName());
					createDateText.setText(dateFormat.format(cd.getCreateDate()));
					if(cd.getDescription() != null)
						descriptionText.setText(cd.getDescription());
					else
						descriptionText.setText("");
					descriptionText.addMouseListener(new MouseAdapter() {
						public void mouseUp(final MouseEvent e) {
							((Text)e.widget).setEditable(true);
						}
					});
					descriptionText.addFocusListener(new FocusAdapter() {
						public void focusLost(final FocusEvent e) {
							if(((Text)e.widget).getEditable()){
								String description = ((Text)e.widget).getText();
								CDManager.action.setCDDescription(cd, description);
								((Text)e.widget).setEditable(false);
							}
						}
					});
				}
				else{
					cdNameText.setText("");
					fileNumText.setText("");
					folderNumText.setText("");
					belongAlbumText.setText("");
					createDateText.setText("");
					descriptionText.setText("");
					descriptionText.addMouseListener(new MouseAdapter() {
						public void mouseUp(final MouseEvent e) {
							((Text)e.widget).setEditable(false);
						}
					});
				}
			}				
		}
		
	};
	
	/**
	 * 光盘树拖动源事件
	 */
	private DragSourceListener treeDragListener = new DragSourceListener(){

		public void dragFinished(DragSourceEvent event) {
			
			if(event.detail == DND.DROP_MOVE){
				if(dragResult){
					TreeItem item = albumTree.getSelection()[0];
					if(item != null){
						dragCD = CDMap.remove(item);
						item.dispose();					
					}
				}
			}
		}

		public void dragSetData(DragSourceEvent event) {
			
			if(TextTransfer.getInstance().isSupportedType(event.dataType)){
				event.data = albumTree.getSelection()[0].getText(0);
			}
		}

		public void dragStart(DragSourceEvent event) {
			
			if(albumTree.getSelectionCount() == 0)
				event.doit = false;
			TreeItem item = albumTree.getSelection()[0];
			if(item.getImage().equals(SWTResourceManager.getImage(MainGUI.class, ImageFactory.CD))){
				dragCD = CDMap.get(item);
			}
			else{
				MessageBox msgBox = new MessageBox(event.display.getShells()[0], SWT.ICON_ERROR
						| SWT.OK);
				msgBox.setText("错误");
				msgBox.setMessage("专辑无法移动!");
				msgBox.open();
				return;
			}
		}
		
	};
	
	/**
	 * 光盘树拖动目标事件
	 */
	private DropTargetListener treeDropListener = new DropTargetListener(){
		
		public void dragEnter(DropTargetEvent event) {
			if(event.detail == DND.DROP_DEFAULT)
				event.detail = DND.DROP_MOVE;
		}

		public void dragLeave(DropTargetEvent event) {
		}
		
		public void dragOperationChanged(DropTargetEvent event) {
			
			if(event.detail == DND.DROP_DEFAULT)
				event.detail = DND.DROP_MOVE;				
		}

		public void dragOver(DropTargetEvent event) {
			
			event.feedback = DND.FEEDBACK_EXPAND|DND.FEEDBACK_SELECT;
		}

		public void drop(DropTargetEvent event) {
			
			if(event.item == null || ((TreeItem)event.item).getImage().equals(SWTResourceManager.getImage(MainGUI.class, ImageFactory.CD))){
				MessageBox msgBox = new MessageBox(event.display.getShells()[0], SWT.ICON_ERROR
						| SWT.OK);
				msgBox.setText("错误");
				msgBox.setMessage("无法将光盘移动到光盘中!");
				msgBox.open();
				dragResult = false;
				return;
			}
			TreeItem eventItem = (TreeItem)event.item;
			if(TextTransfer.getInstance().isSupportedType(event.currentDataType)){
				String s = (String)event.data;
				TreeItem newItem = null;
				newItem = new TreeItem(eventItem,SWT.NONE);
				newItem.setText(s);
				newItem.setImage(SWTResourceManager.getImage(MainGUI.class, ImageFactory.CD));
				MainGUI.CDMap.put(newItem,dragCD);
				CDManager.action.moveCD(dragCD, albumMap.get(newItem.getParentItem()));
				dragResult = true;
			}
		}

		public void dropAccept(DropTargetEvent event) {
		}
		
	};
	
	/**
	 * 删除专辑
	 */
	private SelectionListener deleteAlbumListener = new SelectionListener(){

		public void widgetDefaultSelected(SelectionEvent e) {
		}

		public void widgetSelected(SelectionEvent e) {
			
			if (albumTree.getSelection()[0].getImage().equals(
					SWTResourceManager.getImage(MainGUI.class,
							ImageFactory.ALBUM))) {
				TheObject object = new DeleteItem();
				object.setObject(albumTree.getSelection()[0]);
				object.initial();
			}
			else{
				MessageBox msgBox = new MessageBox(e.display.getShells()[0], SWT.ICON_ERROR
						| SWT.OK);
				msgBox.setText("错误");
				msgBox.setMessage("请您先选择一张专辑!");
				msgBox.open();
				return;
			}
		}
		
	};
	
	/**
	 * 删除光盘
	 */
	private SelectionListener deleteCDListener = new SelectionListener(){

		public void widgetDefaultSelected(SelectionEvent e) {	
		}

		public void widgetSelected(SelectionEvent e) {
			
			if (albumTree.getSelection()[0].getImage()
					.equals(
							SWTResourceManager.getImage(MainGUI.class,
									ImageFactory.CD))) {
				TheObject object = new DeleteCDItem();
				object.setObject(albumTree.getSelection()[0]);
				object.initial();
				
				cdNameText.setText("");
				fileNumText.setText("");
				folderNumText.setText("");
				belongAlbumText.setText("");
				createDateText.setText("");
				descriptionText.setText("");
			} else {
				MessageBox msgBox = new MessageBox(albumTree.getShell(),
						SWT.ICON_ERROR | SWT.OK);
				msgBox.setText("错误");
				msgBox.setMessage("未选中光盘");
				msgBox.open();
			}				
		}
		
	};
	
	/**
	 * 文档树双击事件
	 */
	private MouseListener docTreeMouseListener = new MouseListener(){

		public void mouseDoubleClick(MouseEvent e) {	
			if(((Tree) e.widget).getSelectionCount() < 1)
				return;
			TreeItem treeItem = ((Tree) e.widget).getSelection()[0];
			TreeItem[] children = treeItem.getItems();
			if (treeItem.getExpanded()) {
				TreeExpand treeExpand = new TreeExpand();
				treeExpand.setTreeItem(treeItem);
				treeExpand.getColCollapsed();
				treeItem.setExpanded(false);
			} else if (children.length > 0) {
				TreeExpand treeExpand = new TreeExpand();
				treeExpand.setTreeItem(treeItem);
				treeExpand.getExpanded();
				treeItem.setExpanded(true);
			}	
		}

		public void mouseDown(MouseEvent e) {
			descriptionText.setEditable(false);
		}

		public void mouseUp(MouseEvent e) {
		}
		
	};
	
	/**
	 * 文档树展开与关闭事件
	 */
	private TreeListener docTreeListener = new TreeListener(){

		public void treeExpanded(final TreeEvent e) {

			TreeExpand treeExpand = new TreeExpand();
			treeExpand.setTreeItem((TreeItem) e.item);
			treeExpand.getExpanded();
		}

		public void treeCollapsed(final TreeEvent e) {
			
			TreeExpand treeExpand = new TreeExpand();
			treeExpand.setTreeItem((TreeItem) e.item);
			treeExpand.getColCollapsed();
		}
		
	};
	
	/**
	 * 文档树选择事件
	 */
	private SelectionListener docTreeSelectionListener = new SelectionListener(){

		public void widgetDefaultSelected(SelectionEvent e) {
		}

		public void widgetSelected(SelectionEvent e) {
		
			table.removeAll();
			canUP = true;
			Document doc = MainGUI.documentMap.get((TreeItem) e.item);
			entranceDoc = doc;
			ArrayList<Document> docs = CDManager.action
					.getChildren(doc);
			SetTableItem setTableItem = new SetTableItem();
			setTableItem.setObject(table);
			setTableItem.setDocs(docs);
			setTableItem.initial();
		}
		
	};
	
	/**
	 * 表格项双击事件
	 */
	MouseListener tableMouseListener = new MouseListener(){

		public void mouseDoubleClick(MouseEvent e) {
			
			TableItem tableItem;
			Document doc;
			ArrayList<Document> docs;
			canUP = true;
			try {
				if(((Table)e.widget).getSelectionCount() > 0){
					tableItem = (TableItem)(((Table)e.widget).getSelection()[0]);
					doc = MainGUI.tableMap.get(tableItem);
					if(doc.get("isLeaf").equals("f")){	
						entranceDoc = doc;
						table.removeAll();
						docs = CDManager.action.getChildren(doc);
						SetTableItem setTableItem = new SetTableItem();
						setTableItem.setObject(e.widget);
						setTableItem.setDocs(docs);
						setTableItem.initial();
					}
					else{
						File file = new File(doc.get("path"));
						if(file.exists()){
							if(File.separator.equals("\\")){
								Runtime.getRuntime().exec("cmd.exe /c " + file.getAbsolutePath());
							}else{
								MessageBox msgBox = new MessageBox(e.display.getShells()[0], SWT.ICON_INFORMATION
										| SWT.OK);
								msgBox.setText("提示");
								msgBox.setMessage("当前版本只支持在Windows平台下执行该文件。");
								msgBox.open();
								return;
							}
						}
						else{
							MessageBox msgBox = new MessageBox(e.display.getShells()[0], SWT.ICON_ERROR
									| SWT.OK);
							msgBox.setText("文件不存在");
							msgBox.setMessage("请插入光盘 " + CDManager.action.getBelongCDName(doc));
							msgBox.open();
							return;
						}
					}
				}
			} catch (IOException e1) {
				MessageBox msgBox = new MessageBox(e.display.getShells()[0], SWT.ICON_ERROR
						| SWT.OK);
				msgBox.setText("文件错误");
				msgBox.setMessage("读取文件错误!" + e1.getCause());
				msgBox.open();
				return;
			}
		}

		public void mouseDown(MouseEvent e) {
			descriptionText.setEditable(false);
		}

		public void mouseUp(MouseEvent e) {
		}
		
	};

}

⌨️ 快捷键说明

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