我想在子节点,比如 学生设置那里的修改,删除 这样的节点设置事件监听器,有没有什么办法啊! 我想点击左边的目录后,右手面板有相应的内容出现我写的一段JTREE
package com;import java.awt.BorderLayout;
import java.awt.Dimension;import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
/*
JTree的构造函数:
JTree()
JTree(Hashtable value)
JTree(Object[] value)//只有这个构造函数可以创建多个根结点
JTree(TreeModel newModel)
JTree(TreeNode root)
JTree(TreeNode root, boolean asksAllowsChildren)
JTree(Vector value)*/
public class Main implements TreeExpansionListener
{
JFrame frame;
JPanel panel;
JPanel panel1;
JPanel panel2;
JPanel panel3;
JTree example1;
JTree example2;
JLabel label;
JLabel label1;
JSplitPane split;
public Main()
{
panel1=new JPanel();
panel3=new JPanel();
label1=new JLabel("111");
label=new JLabel("2222");
panel1.setLayout(new BorderLayout());
split=new JSplitPane();
split.setDividerSize(0);
DefaultMutableTreeNode color2= new DefaultMutableTreeNode( "学生设置" , true);
DefaultMutableTreeNode c1=new DefaultMutableTreeNode( "查看");
DefaultMutableTreeNode c2=new DefaultMutableTreeNode("修改");
DefaultMutableTreeNode c3=new DefaultMutableTreeNode("删除");
color2.add (c1);
color2.add (c2);
color2.add (c3);
DefaultMutableTreeNode color1= new DefaultMutableTreeNode( "管理员" , true );
color1.add ( new DefaultMutableTreeNode ( "设置登陆用户" ));
color1.add ( new DefaultMutableTreeNode ("查看选课信息"));
color1.add ( new DefaultMutableTreeNode ( " 修改登陆用户" ));
DefaultMutableTreeNode color3= new DefaultMutableTreeNode( "老师设置" , true );
color3.add ( new DefaultMutableTreeNode ( "查看选课信息" ));
color3.add ( new DefaultMutableTreeNode ("设置选课时间"));
DefaultMutableTreeNode color4= new DefaultMutableTreeNode( "用户登陆" , true );
color4.add ( new DefaultMutableTreeNode ( "学生登陆" ));
color4.add ( new DefaultMutableTreeNode ("老师登陆"));
color4.add ( new DefaultMutableTreeNode ("管理员登陆"));
DefaultMutableTreeNode color= new DefaultMutableTreeNode( "选课系统" , true );
color.add(color4);
color.add(color1);
color.add(color2);
color.add(color3);
example1=new JTree (color);
panel = new JPanel();
panel.setLayout (new BoxLayout (panel, BoxLayout.X_AXIS));
panel.add(new JScrollPane(example1));
panel1.add(label1, BorderLayout.NORTH);
panel1.add(panel,BorderLayout.CENTER);
panel3.add(label);
frame= new JFrame ("JTreeDemo" );
split.setLeftComponent(panel1);
split.setRightComponent(panel3);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setContentPane (split);
frame.setSize(700, 500);
frame.setVisible(true);
}
public static void main(String args[]) {
Main m=new Main();
}public void treeCollapsed(TreeExpansionEvent e) {
if (e.getSource()==example1)
{
}
}
@Override
public void treeExpanded(TreeExpansionEvent arg0) {
// TODO Auto-generated method stub
}
}
请各位大侠不吝赐教!
解决方案 »
- 混淆器的问题……
- java生成二叉树的小问题
- 请教一下 ,想用java做一个类似与winRaR的压缩软件,求高人指点!具体请进入,谢谢!
- getInstance与new有什么区别
- 当代码执行出问题时,捕获了异常,但代码还继续往下执行,如何停止执行?
- 好久没来拉,春节回家,散尽所有分!祝大家春节快乐! 散分帖2
- 请问Comparable和Comparator 这两个类有什么区别在使用的时候
- applet中关于param参数的问题,困扰我多时了?
- 在ant中如何使用可选任务?
- 寻找一个工具
- 格式化XML文件的返回值,感觉写的有问题,但是可以运行,奇怪
- 菜鸟提问:谁能给我写一个ByteArrary的例子
if (tree.isSelectionEmpty()) {
return;
}
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getSelectionPath().getLastPathComponent();