public void actionPerformed(ActionEvent e) {
DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
if (selectNode == null) {
return;
}
// 事件命令
String command = e.getActionCommand();
if ("delete".equals(command)) { // 如果是删除
if (selectNode.getParent() != null) {
model.removeNodeFromParent(selectNode);
}
} else if ("insert".equals(command)) { // 如果是插入
String message = JOptionPane.showInputDialog("请输入您要插入子节点的名称"); // 点击取消返回null
if (message != null && !"".equals(message.trim())) {
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(
message);
model.insertNodeInto(newNode, selectNode, selectNode
.getChildCount());
}
} else if ("insertNode".equals(command)) { // 如果是插入
String message = JOptionPane.showInputDialog("请输入您要插入节点的名称"); // 点击取消返回null
if (message != null && !"".equals(message.trim())) {
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(
message);
DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) selectNode
.getParent();
if (parentNode != null) {
int selectIndex = parentNode.getIndex(selectNode);
model.insertNodeInto(newNode, parentNode, selectIndex + 1);
}
}
} else if ("update".equals(command)) { // 修改节点名称
String name = selectNode.getUserObject().toString();
String message = JOptionPane.showInputDialog(null, "请输入您要插入节点的名称",
name); // 点击取消返回null
if (message != null) {
selectNode.setUserObject(message);
tree.repaint();
}
} else if ("addstu".equals(command)) { // 增加学生
pnlStudent.setVisible(true);
cleanStuInput();
} else if ("updatestu".equals(command)) { // 修改学生信息
getTableValueToPanel();
} else if ("delstu".equals(command)) { // 删除学生信息
DefaultTableModel model = (DefaultTableModel) table.getModel();
int row = table.getSelectedRow();
if (row == -1) {
return;
}
String stuId = table.getValueAt(row, 5).toString(); // 学号
model.removeRow(row);
table.setModel(model);
table.repaint();
// 删除xml中的数据
(new StudentDao()).deleteStudent(selectNode.toString(), stuId);
}
}
// 为树设置图片
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree
.getCellRenderer();
renderer.setOpenIcon(new ImageIcon("img/folderopen.gif"));
renderer.setClosedIcon(new ImageIcon("img/folder.gif"));
renderer.setLeafIcon(new ImageIcon("img/page.gif"));
renderer.setIcon(new ImageIcon("img/base.gif"));
分享到:
相关推荐
jtree添加图片--(不同的节点图片),源代码,欢迎学习。
JTree的例子,可以拖动节点 JTree的例子,可以拖动节点
jtree节点可编辑
java使用jtree动态实现二叉树,包含二叉树的插入删除很查找
使用JTree实现的文件资源管理器(仿照Windows操作系统)
// 设置叶子节点不采用图标 treeCellRenderer.setClosedIcon(null);// 设置节点折叠时不采用图标 treeCellRenderer.setOpenIcon(null);// 设置节点展开时不采用图标 Enumeration<?> enumeration; // 按...
JTree(节点带有checkbox)代码实例
JTree的使用 JTree的使用 JTree的使用
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
JTree(节点带有checkbox)代码实例
jtree带复选框的 很典型的例子 当子节点有一个没有被选中时 父节点及其父父结点均不会被选中
JTree设置QQ好友树形列表中不同好友的图像,采用swing组件
简单的实现树型列表。全部javascript代码。
jtree和QQ项目\树实现好友列表,并模拟来信图片变换
JTree 树形菜单插件包下载,在网页上快速实现树控菜单的一个小插件,功能相对完善,本次更新功能:加入treeNodes(数组形式),通过treeNodes可以对指定的子树进行收缩和展开功能,查找指定节点的功能。加入这个功能...
java JTree+JTable使用样例,实现将JTree的节点内容显示到JTable中,eclipse导入maven项目 maven编译: mvn clean package
jtree中加checkbox,实用哦。
用JSplitePane将窗口划分为左右两部分。单机左边菜单,在右边串口显示显示相关性息。相关功能可自行添加。
//判断节点是否被选中,被选中为0,没被选中为1 TreePath[] selectionPath = tree.getSelectionPaths();//获取所有被选中节点的路径 StringBuilder sb = new StringBuilder(); sb.append("<html><...