📄 servicetreeview.java
字号:
deleteAction.putValue(Action.NAME,"删除 "+((Deleteable)userObject).toString());
tree.getActionMap().put(deleteAction,deleteAction);
} else {
deleteAction.setEnabled(false);
deleteAction.putValue(Action.NAME,"删除...");
tree.getActionMap().remove(deleteAction);
}
deleteAction.setEnabled(n.getUserObject() instanceof Deleteable);
} else {
newServiceAction.setEnabled(false);
modifyServiceAction.setEnabled(false);
newNodeAction.setEnabled(false);
modifyNodeAction.setEnabled(false);
deleteAction.setEnabled(false);
deleteAction.putValue(Action.NAME,"Delete");
tree.getActionMap().remove(deleteAction);
}
}
/**
* Called when a branch in the <code>tree</code> is being expanded.
*
* @param event Used to determine which node is being expanded
*
* @see javax.swing.event.TreeWillExpandListener#treeWillExpand(javax.swing.event.TreeExpansionEvent)
*/
public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
Object opath[] = event.getPath().getPath();
DefaultMutableTreeNode n = (DefaultMutableTreeNode)opath[opath.length-1];
Object userObject = n.getUserObject();
if (userObject instanceof TreeViewExpansionListener) {
((TreeViewExpansionListener)userObject).willExpand(tree, n);
}
}
/**
* Called when a branch in the <code>tree</code> is being collapsed.
*
* @see javax.swing.event.TreeWillExpandListener#treeWillCollapse(javax.swing.event.TreeExpansionEvent)
*/
public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException { }
/**
* @return
*/
public Action getNewServiceAction() {
return newServiceAction;
}
public Action getModifyServiceAction() {
return modifyServiceAction;
}
/**
* @return
*/
public Action getNewNodeAction() {
//return newQueueAction;
return newNodeAction;
}
public Action getModifyNodeAction() {
//return newQueueAction;
return modifyNodeAction;
}
public void selectNodeInstance(DefaultMutableTreeNode parent, Class c) {
DefaultMutableTreeNode node;
for(int x=0;x<parent.getChildCount();x++) {
node = (DefaultMutableTreeNode)parent.getChildAt(x);
if (node.getUserObject().getClass() == c) {
tree.setSelectionPath(null);
tree.setSelectionPath(new TreePath(node.getPath()));
}
}
}
public void deleteSelected() {
TreePath path = tree.getSelectionPath();
if (path != null) {
TreePath parentPath = path.getParentPath();
DefaultMutableTreeNode parent = (DefaultMutableTreeNode)path.getParentPath().getLastPathComponent();
Object objPath[] = path.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[objPath.length-1];
Deleteable deleteable = (Deleteable)node.getUserObject();
if (deleteable.delete()) {
Vector newPath = new Vector();
for(int x=0;x<objPath.length-1;x++)
newPath.add(objPath[x]);
tree.setSelectionPath(new TreePath(newPath.toArray()));
}
}
}
/**
* Provides access to the delete action.
* @return The delete action.
*/
public Action getDeleteAction() {
return deleteAction;
}
public void insertService() {
TreePath path = tree.getSelectionPath();
System.out.println("insertService...1");
if (path != null) {
Object objPath[] = path.getPath();
System.out.println("insertService...2");
//if (objPath.length >= 2) { // contains at least one server record
System.out.println("insertService...3");
String name = JOptionPane.showInputDialog(WorkFlow.getInstance(),
"请输入新业务名称",
"新建业务",
JOptionPane.QUESTION_MESSAGE);
if (name != null && name.length() > 0) {
System.out.println("name="+name);
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[0];
StartList service = (StartList)node.getUserObject();
if (service.insertService(name)) {
selectNodeInstance(node,StartList.class);
activatePath(path);
}
}
//}
}
}
public void modifyService() {
TreePath path = tree.getSelectionPath();
if (path != null) {
Object objPath[] = path.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[1];
ServiceList service = (ServiceList)node.getUserObject();
String name = JOptionPane.showInputDialog(WorkFlow.getInstance(),
"原业务名称:"+service.getBean().getT_name()+"\n"+"请输入要修改的业务名称",
"修改业务",
JOptionPane.QUESTION_MESSAGE);
if (name != null && name.length() > 0) {
DefaultMutableTreeNode parent = (DefaultMutableTreeNode)path.getParentPath().getLastPathComponent();
StartList start = (StartList)parent.getUserObject();
if (start.modifyService(service.getBean().getT_id(), name)) {
ServiceBean bean = new ServiceBean();
bean.setT_id(service.getBean().getT_id());
bean.setT_name(name);
ServiceList sl = new ServiceList(bean, start);
node.setUserObject(sl);
//refreshRoot();
resetChildren(sl, name);
selectNodeInstance(node,ServiceList.class);
//activatePath(path);
tree.updateUI();
}
}
}
}
public void insertNode() {
TreePath path = tree.getSelectionPath();
System.out.println("insertService...1");
if (path != null) {
Object objPath[] = path.getPath();
System.out.println("insertService...2");
//if (objPath.length >= 2) { // contains at least one server record
System.out.println("insertService...3");
String name = JOptionPane.showInputDialog(WorkFlow.getInstance(),
"请输入新节点名称",
"新建节点",
JOptionPane.QUESTION_MESSAGE);
if (name != null && name.length() > 0) {
System.out.println("name="+name);
if(objPath.length == 2){
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[1];
ServiceList service = (ServiceList)node.getUserObject();
if (service.insertNode(name)) {
//resetChildren(service, service.getBean().getT_name());
selectNodeInstance(node,ServiceList.class);
activatePath(path);
}
}
else{
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[0];
StartList service = (StartList)node.getUserObject();
ServiceList ser = new ServiceList(service.getBean(), service);
if(ser.insertNode(name)){
selectNodeInstance(node,StartList.class);
activatePath(path);
}
}
}
//}
}
}
public void modifyNode() {
TreePath path = tree.getSelectionPath();
if (path != null) {
Object objPath[] = path.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode)objPath[2];
Node snode = (Node)node.getUserObject();
String name = JOptionPane.showInputDialog(WorkFlow.getInstance(),
"原节点名称:"+snode.getNodeBean().getT_desc()+"\n"+"请输入要修改的节点名称",
"修改节点",
JOptionPane.QUESTION_MESSAGE);
if (name != null && name.length() > 0) {
DefaultMutableTreeNode parent = (DefaultMutableTreeNode)path.getParentPath().getLastPathComponent();
ServiceList service = (ServiceList)parent.getUserObject();
if (service.modifyNode(snode.getNodeBean().getT_id(), name)) {
NodeBean bean = snode.getNodeBean();
bean.setT_desc(name);
Node sl = new Node(bean, snode.getServiceBean(), service);
node.setUserObject(sl);
//refreshRoot();
//System.out.println("name="+name);
resetChildren(sl, name);
selectNodeInstance(node,Node.class);
tree.updateUI();
//activatePath(path);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -