📄 renamealbumitem.java
字号:
package com.galaxyworkstation.view;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.custom.TreeEditor;
import org.eclipse.swt.events.*;
import com.galaxyworkstation.control.CDManager;
public class RenameAlbumItem implements TheObject{
private Tree tree;
public void setObject(Object object){
this.tree = (Tree)object;
}
public void initial(){
final TreeEditor treeEditor = new TreeEditor(tree);
treeEditor.horizontalAlignment = SWT.LEFT;
treeEditor.grabHorizontal = true;
Control oldTreeEditor = treeEditor.getEditor();
if(oldTreeEditor != null) oldTreeEditor.dispose();
final TreeItem item = (TreeItem)tree.getSelection()[0];
if(item == null) return;
if(item == tree.getItem(0)) return;
final Text newTreeEditor = new Text(tree,SWT.BORDER);
final String originText = item.getText();
newTreeEditor.setText(originText);
newTreeEditor.selectAll();
treeEditor.setEditor(newTreeEditor,item);
newTreeEditor.setFocus();
newTreeEditor.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent event){
if(treeEditor.getItem().isDisposed()){
newTreeEditor.dispose();
return;
}
final Text text = (Text)treeEditor.getEditor();
treeEditor.getItem().setText(text.getText());
newTreeEditor.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.keyCode == 13){
////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
////////////////////////////
e.widget.dispose();
}
if(e.character == SWT.ESC){
treeEditor.getItem().setText(originText);
//////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
//////////////////////////////
e.widget.dispose();
}
}
});
}
});
newTreeEditor.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){
//////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
// //////////////////////////////
e.widget.dispose();
}
});
newTreeEditor.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.keyCode == 13){
//////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
//////////////////////////////
e.widget.dispose();
}
if(e.character == SWT.ESC){
//////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
//////////////////////////////
e.widget.dispose();
}
}
});
tree.addMouseListener(new MouseAdapter(){
public void mouseDown(MouseEvent e){
if(e.button != 1){
if(!newTreeEditor.isDisposed()){
//////////////////////////////
CDManager.action.renameAlbum(MainGUI.albumMap.get(item), treeEditor.getItem().getText());
//////////////////////////////
newTreeEditor.dispose();
}
}
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -