当然,我可以只在TreeSelectionListener将菜单禁用.
我想看看还有没有别的方法.
我想看看还有没有别的方法.
解决方案 »
- java中不是万物皆是对象吗?有特例,大家看看
- synth添加JTabbedPane图片时的问题
- 想用SWING和TOMCAT实现动态的界面显示,大家给点思路
- 關於Graphics g = getGraphics();(新人第一次發帖,請不吝賜教:)
- 请各位老师给我推荐一本学JAVA的书。送50分
- 有没工具直接把简体中文转为繁体中文的
- 基本上我已写好了一个P2P软件(用JAVA写的)
- 我如何将read = new BufferedReader(new InputStreamReader(serverIn));从屏幕上打印出来?
- java类声明中包含本类数组时每一个数组元素是不是还是数组?
- mybatis报错,急急急!!!
- 问题多多,高手快来,现在我只能给25分
- 补充:JBuilder5 中没有JDataStore吗?如果有那JDataStore的序列号和KEY是什么?(和前一次提问一起给分)
我觉得Mouser事件应先于Selection事件.
因为Selection事件是一个高级事件.
代码:MouseListener
jTreeUser.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent evt){
if(nodeChoosed==null) return;
if (!nodeChoosed.isRoot()){
if (nodeChoosed==nodeGroup){
addGroup.setEnabled(true);
delGroup.setEnabled(false);
modifyGroup.setEnabled(false);
....
}
}
}代码:TreeSelectionListener
jTreeUser.addTreeSelectionListener(new TreeSelectionListener(){
public void valueChanged(TreeSelectionEvent e){
TreePath path = e.getNewLeadSelectionPath();
if(path==null)return;
nodeChoosed = (DefaultMutableTreeNode)path.getLastPathComponent();
if(nodeChoosed==null)return;
if(nodeChoosed==nodeGroup){
tblHeader=new String[]{"用户组ID","用户组名称","用户组描述","","","",""};
tableModel = new DefaultTableModel(tblHeader,30);
jTable1.setModel(tableModel);
for(int k = tableModel.getRowCount()-1;k>=0;k--)
tableModel.removeRow(k);
for(int i=0;i<UserGroup.size();i++){
Leaf leaf = (Leaf)UserGroup.get(i);
String[] s = {leaf.groupOrRoleID,leaf.groupOrRoleName,"","","","",""};
tableModel.addRow(s);
}
jTable1.repaint();
jPanelRight.remove(jRightsPanel);
jPanelRight.add(jScrollPaneRight,BorderLayout.CENTER);
}
}
不过我是Java新手,代码写的可能太烂,入不了你的法眼!