?? indexframe.java
字號:
icon = new ImageIcon(resource);
exitShortcutKeyButton.setIcon(icon);
exitShortcutKeyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
buttonPanel.add(exitShortcutKeyButton);
final JPanel leftPanel = new JPanel();
leftPanel.setBackground(new Color(90, 130, 189));
leftPanel.setLayout(new BorderLayout());
leftPanel.setBorder(new TitledBorder(null, "",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION, null, null));
leftPanel.setPreferredSize(new Dimension(160, 0));
getContentPane().add(leftPanel, BorderLayout.WEST);
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");// 創建樹的根結點
DefaultMutableTreeNode personnelNode = new DefaultMutableTreeNode(
"人事管理");// 創建樹的一級子結點
personnelNode.add(new DefaultMutableTreeNode("檔案管理"));// 創建樹的葉子結點并添加到一級子結點
personnelNode.add(new DefaultMutableTreeNode("考勤管理"));
personnelNode.add(new DefaultMutableTreeNode("獎懲管理"));
personnelNode.add(new DefaultMutableTreeNode("培訓管理"));
root.add(personnelNode);// 向根結點添加一級子結點
DefaultMutableTreeNode treatmentNode = new DefaultMutableTreeNode(
"待遇管理");
treatmentNode.add(new DefaultMutableTreeNode("賬套管理"));
treatmentNode.add(new DefaultMutableTreeNode("人員設置"));
treatmentNode.add(new DefaultMutableTreeNode("統計報表"));
root.add(treatmentNode);
DefaultMutableTreeNode systemNode = new DefaultMutableTreeNode("系統維護");
systemNode.add(new DefaultMutableTreeNode("企業架構"));
systemNode.add(new DefaultMutableTreeNode("基本資料"));
systemNode.add(new DefaultMutableTreeNode("初始化系統"));
root.add(systemNode);
DefaultMutableTreeNode userNode = new DefaultMutableTreeNode("用戶管理");
if (record == null) {// 當record為null時,說明是通過默認用戶登錄的,此時只能新增用戶,不能修改密碼
userNode.add(new DefaultMutableTreeNode("新增用戶"));
} else {// 否則為通過管理員登錄
String purview = record.getTbManager().getPurview();
if (purview.equals("超級管理員")) {// 只有當管理員的權限為“超級管理員”時,才有權新增用戶
userNode.add(new DefaultMutableTreeNode("新增用戶"));
}
userNode.add(new DefaultMutableTreeNode("修改密碼"));// 只有通過管理員登錄時才有權修改密碼
}
root.add(userNode);
DefaultMutableTreeNode toolNode = new DefaultMutableTreeNode("系統工具");
toolNode.add(new DefaultMutableTreeNode("打開計算器"));
toolNode.add(new DefaultMutableTreeNode("打開WORD"));
toolNode.add(new DefaultMutableTreeNode("打開EXCEL"));
root.add(toolNode);
DefaultTreeModel treeModel = new DefaultTreeModel(root);// 通過樹結點對象創建樹模型對象
tree = new JTree(treeModel);// 通過樹模型對象創建樹對象
tree.setBackground(Color.WHITE);// 設置樹的背景色
tree.setRootVisible(false);// 設置不顯示樹的根結點,默認為顯示,即true
tree.setRowHeight(24);// 設置各結點的高度為27像素
tree.setFont(new Font("宋體", Font.BOLD, 14));// 設置結點的字體樣式
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();// 創建一個樹的繪制對象
// renderer.setLeafIcon(null);// 設置葉子結點不采用圖標
renderer.setClosedIcon(null);// 設置結點折疊時不采用圖標
renderer.setOpenIcon(null);// 設置結點展開時不采用圖標
tree.setCellRenderer(renderer);// 將樹的繪制對象設置到樹中
int count = root.getChildCount();// 獲得一級結點的數量
for (int i = 0; i < count; i++) {// 遍歷樹的一級結點
DefaultMutableTreeNode node = (DefaultMutableTreeNode) root
.getChildAt(i);// 獲得指定索引位置的一級結點對象
TreePath path = new TreePath(node.getPath());// 獲得結點對象的路徑
tree.expandPath(path);// 展開該結點
}
tree.addTreeSelectionListener(new TreeSelectionListener() {// 捕獲樹的選取事件
public void valueChanged(TreeSelectionEvent e) {
rightPanel.removeAll();
TreePath treePath = e.getPath();
if (treePath.getPathCount() == 2) {
rightPanel
.add(backgroundLabel, BorderLayout.CENTER);
} else {
String selectedNode = treePath
.getLastPathComponent().toString();
String parentNode = treePath.getParentPath()
.getLastPathComponent().toString();
if (parentNode.equals("人事管理")) {
System.out.println("人事管理");
if (selectedNode.equals("檔案管理")) {
rightPanel.add(new RecordSelectedPanel(
rightPanel), BorderLayout.CENTER);
} else if (selectedNode.equals("考勤管理")) {
rightPanel.add(new TimecardPanel(),
BorderLayout.CENTER);
} else if (selectedNode.equals("獎懲管理")) {
rightPanel.add(
new RewardsAndPunishmentPanel(),
BorderLayout.CENTER);
} else {// 人事培訓管理
rightPanel.add(new BringUpSelectedPanel(
rightPanel), BorderLayout.CENTER);
}
} else if (parentNode.equals("待遇管理")) {
System.out.println("待遇管理");
if (selectedNode.equals("賬套管理")) {
rightPanel.add(new CriterionSetPanel(),
BorderLayout.CENTER);
} else if (selectedNode.equals("人員設置")) {
rightPanel.add(new PersonnelSetPanel(),
BorderLayout.CENTER);
} else {// 統計報表
rightPanel.add(new ReportFormsPanel(),
BorderLayout.CENTER);
}
} else if (parentNode.equals("系統維護")) {
System.out.println("系統維護");
if (selectedNode.equals("企業架構")) {
rightPanel.add(new FrameworkPanel(),
BorderLayout.CENTER);
} else if (selectedNode.equals("基本資料")) {
rightPanel.add(new DataPanel(),
BorderLayout.CENTER);
} else {// 系統初始化
int i = JOptionPane.showConfirmDialog(null,
"確定要初始化系統?", "友情提示",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (i == 0) {
dao.initTimecard();
dao.initBringUpOntent();
dao.initBringUpContent();
dao.initRewardsAndPunishment();
dao.initReckoningInfo();
dao.initReckoningList();
dao.initReckoning();
dao.initDutyInfo();
dao.initPersonalInfo();
dao.initManager();
dao.initRecord();
dao.initDept();
dao.initDuty();
dao.initNation();
dao.initNativePlace();
dao.initAccessionForm();
dao.initAccountItem();
String clueOn[] = new String[] {
" 系統初始化完成!",
" 系統將重新啟動,您首先需要通過默認用戶登錄,",
"然后通過“人事管理”->“檔案管理”添加人事檔案,",
"其次通過“用戶管理”->“新增用戶”添加系統管理",
"員,最后通過新添加的管理員登錄!",
" 需要注意的是,只有第一個被添加的管理員為",
"超級管理員,具有“新增用戶”的權限!" };
JOptionPane
.showMessageDialog(
null,
clueOn,
"友情提示",
JOptionPane.INFORMATION_MESSAGE);
dispose();
new PersonnelManage();
}
}
} else if (parentNode.equals("用戶管理")) {
System.out.println("用戶管理");
if (selectedNode.equals("新增用戶")) {
AddUserPanel addUserPanel = new AddUserPanel();
addUserPanel.setRecord(record);
rightPanel.add(addUserPanel,
BorderLayout.CENTER);
} else {// 修改密碼
rightPanel.removeAll();
SwingUtilities
.updateComponentTreeUI(rightPanel);
UpdatePasswordDialog updatePasswordDialog = new UpdatePasswordDialog();
updatePasswordDialog.setRecord(record);
updatePasswordDialog.setVisible(true);
}
} else {
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
File file = null;
try {
if (selectedNode.equals("打開計算器")) {
Runtime runtime = Runtime
.getRuntime();
runtime.exec("calc.exe");
} else if (selectedNode
.equals("打開WORD")) {
file = new File("src/office/new.doc");
desktop.open(file);
} else {// 打開EXCEL
file = new File("src/office/new.xls");
desktop.open(file);
}
} catch (Exception e1) {
JOptionPane
.showMessageDialog(
null,
"很抱歉,未能打開您請求的系統工具!",
"友情提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
}
}
}
SwingUtilities.updateComponentTreeUI(rightPanel);
}
});
leftPanel.add(tree);
rightPanel.setLayout(new BorderLayout());
rightPanel.setPreferredSize(new Dimension(0, 0));
rightPanel.setBackground(new Color(255, 255, 247));
rightPanel.setBorder(new TitledBorder(null, "",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION, null, null));
getContentPane().add(rightPanel, BorderLayout.CENTER);
resource = this.getClass().getResource("/img/back.JPG");
icon = new ImageIcon(resource);
backgroundLabel.setIcon(icon);
backgroundLabel.setHorizontalTextPosition(SwingConstants.CENTER);
backgroundLabel.setHorizontalAlignment(SwingConstants.CENTER);
rightPanel.add(backgroundLabel, BorderLayout.CENTER);
//
}
final JLabel backgroundLabel = new JLabel();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -