问题:前辈留下的code,在 jtree的UI界面里面,按F2键的时候,就会自动进入选中的节点的编辑状态,
可是我在code里面寻找是如何设置这个F2键成为剪辑的快捷键的,怎么也找不到。首先想的是不是在keylistener中,处理了这个F2,没有找到;后来想,是不是有什么inputmap之类的,还是没有找到。于是就想用debug的方式找出来,可是每次按下F2,就直接到了startEdting()。大师们能不能给点建议最有可能是怎么实现的,我以前都是写MFC,没用过java,所以在这里麻烦大师指点。

解决方案 »

  1.   

    testTree.setCellEditor(new DefaultTreeCellEditor(testTree, testTree.getCellRenderer()) { 
    /* CellEditor */ 
    protected TreeCellEditor createTreeCellEditor() { 
    /* 边界 */ 
    Border aBorder = UIManager.getBorder("Tree.editorBorder"); 
    /* TextField */ 
    final DefaultTextField test = new DefaultTextField(aBorder); 
    /* 添加动作事件 */ 
    test.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { } 
    }); DefaultCellEditor editor = new DefaultCellEditor(test) { public boolean shouldSelectCell(java.util.EventObject event) { 
    boolean retValue = super.shouldSelectCell(event); 
    getComponent().requestFocus(); 
    return retValue; 
    } public void cancelEditing() { 
    test.setText(nodeName); 
    testTree.setEditable(false); 
    } }; return editor; 

    });这是我之前的实现,可以参考
      

  2.   

    楼上对Swing的掌握,让我佩服。
      

  3.   

    Gongfuliang, 你提供的code是怎么定制自己的cell editor,对吗?从你这儿学到了很多。我们的project里面的code大致思路
    跟你提供的差不多。我的问题是我找不到code里面怎么把F2这个键设为进入cell editor编辑状态的快捷键的。
    比如,哪天人家不要用F2作为编辑cell editor的快捷键,而是要用F3作为快捷键来编辑这颗树,我都不知道在code的什么地方
    把这个F2换成F3.我问的问题很低级,希望大师们多指点。一定好好向你们学习请教。