📄 maingui.java
字号:
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 + -