?? workflow_userlist.java
字號:
package treedoc;
/** 功能描述:
從數據庫中提取用戶和部門信息生成一棵樹
*/
/**
* 名稱 : WORKFLOW_USERLIST
* 描述 : WWW.FANGFA.NET 工作流管理系統--系統用戶樹型用戶選擇類
* 版權信息 : Copyright (c) 2004 COMSCI
* @作者 : COMSCI Sichuan Fangfa Digital
* @版本 : 0.9 builder 2004091910
* @日期 : 2004/09/19
*/
import java.awt.BorderLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.AbstractAction;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
public class workflow_userlist
extends JPanel {
BorderLayout borderLayout1 = new BorderLayout(); // 定義布局類
JScrollPane jScrollPane1 = new JScrollPane(); // 定義基本容器類
private workflow_AddStepActive wa; //
private workflow_StepMain wsm; //
private DefaultMutableTreeNode root; //
private JPopupMenu menu; //
public String selectuid = ""; //
private JTree tree; //
public workflow_userlist(workflow_AddStepActive waa) {
// 構造方法把初始外部傳入的類
wa = waa;
wsm = new workflow_StepMain("");
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
//定義鼠標事件,雙擊樹節點后生成下面的用戶子樹
tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.
getLastSelectedPathComponent();
JPopupMenu menu = createPopupMenu(e.getPoint(), selectedNode);
menu.show(tree, e.getX(), e.getY());
}
if (e.getClickCount() == 2) { // 如果是雙擊,則生成該部門下面的子樹
DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode) tree.
getLastSelectedPathComponent();
if (!wsm.get_child_department(wsm.get_Did(selectNode.getUserObject().
toString())).isEmpty() && selectNode.isLeaf()) {
for (int j = 0;
j <
wsm.get_child_department(wsm.get_Did(selectNode.getUserObject().
toString())).
size();
j++) {
selectNode.add(new DefaultMutableTreeNode(wsm.
get_child_department(wsm.get_Did(selectNode.getUserObject().
toString())).get(j).toString()));
}
}
else if (wsm.get_child_department(wsm.get_Did(selectNode.
getUserObject().
toString())).isEmpty() && selectNode.isLeaf()) {
for (int j = 0;
j <
wsm.get_user_department(wsm.get_Did(selectNode.getUserObject().
toString())).
size();
j++) {
selectNode.add(new DefaultMutableTreeNode(wsm.get_user_department(
wsm.get_Did(selectNode.getUserObject().toString())).get(j).
toString()));
}
}
tree.setExpandsSelectedPaths(true);
tree.updateUI();
}
}
});
}
/////////////////////////初始方法,將庫中的用戶和部門信息生成一棵樹///////////////
private void jbInit() throws Exception {
this.setDebugGraphicsOptions(0);
this.setLayout(borderLayout1);
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.
VERTICAL_SCROLLBAR_ALWAYS);
this.add(jScrollPane1, BorderLayout.CENTER);
root = new DefaultMutableTreeNode("系統管理部門");
for (int i = 0; i < wsm.get_department_id().size(); i++) {
DefaultMutableTreeNode gd = new DefaultMutableTreeNode(wsm.
get_department_name(wsm.get_department_id().
get(i).toString()));
root.add(gd);
}
tree = new JTree(root);
jScrollPane1.getViewport().add(tree, null);
}
////////////////////定義彈出菜單和處理事件,用于選擇用戶并將其提交給主窗口///////////////////
public JPopupMenu createPopupMenu(final Point pt,
final DefaultMutableTreeNode cell) {
menu = new JPopupMenu();
if (!tree.isSelectionEmpty()) {
menu.add(new AbstractAction("選擇該用戶") {
public void actionPerformed(ActionEvent e) {
selectuid = cell.getUserObject().toString();
wa.jTextField1.setText(selectuid);
}
});
menu.addSeparator();
}
return menu;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -