0

編集可能にする必要がありますJTreeが、デフォルトで設定されているように、マウスを押したりノードをクリックしたりするのではなく、ノードをダブルクリックするか F2 を押して編集を開始する必要があります。

JTree (または JTable などの他の同様のコンポーネント) でのマウス プレスまたはシングル マウス クリックの処理を無効にしながら、選択処理を維持する最良の方法は何ですか?

編集を開始するためのコードがあります。JTree をオフにして、別のイベントで編集を開始するだけです。

4

1 に答える 1

3

私が理解しているように、のエディターを管理する必要がありますJTree。簡単な例を次に示します。

    JTree t = new JTree();
    t.setEditable(true);
    TreeCellRenderer cellRenderer = t.getCellRenderer();
    DefaultTreeCellEditor cellEditor = new DefaultTreeCellEditor(t, (DefaultTreeCellRenderer) cellRenderer){
        @Override
        public boolean isCellEditable(EventObject arg0) {
            if(arg0 instanceof MouseEvent){
                return ((MouseEvent)arg0).getClickCount() > 2;
            }
            return super.isCellEditable(arg0);
        }
    };
    t.setCellEditor(cellEditor);

調べDefaultTreeCellEditorて、それは方法isCellEditable(EventObject arg0)です。

于 2013-11-13T11:26:13.080 に答える