1

こんにちは私はJtreeコンポーネントを初めて使用します。

ボタンクリックイベントに従って動的にノードを追加しています。ボタンをクリックするとノードは正常に追加されますが、ノードクリックイベントでパネルを追加した後、ノード機能(つまり、表示されているノードボタンをクリックすると)が機能しなくなります。

ここに画像の説明を入力してください

これは私のコードです:

@Override
public void valueChanged(TreeSelectionEvent event) {
    (tree.getLastSelectedPathComponent().toString().startsWith("Channel")) {
            //if i click Channel node the device button is not visible
            //block button have to invisible
            //treePanel contains jtree
            treePanel.revalidate();
            treePanel.repaint();
            modbusButton.setEnabled(false);
            channelButton.setEnabled(false);
            blockButton.setEnabled(false);
            deviceButton.setEnabled(true);

            modbus2 mcon = null;
            try {
                mcon = new modbus2();
            } catch (SQLException ex) {
                Logger.getLogger(ModBusTree.class.getName()).log(Level.SEVERE,null,ex);
            }



            ModbusMainPanel.rightPanel.removeAll();
            ModbusMainPanel.rightPanel.add(mcon.p2);
            ModbusMainPanel.rightPanel.revalidate();
            ModbusMainPanel.rightPanel.repaint();
        }
}
4

1 に答える 1

1

チュートリアル セクションHow to Use Trees: Dynamically Changing a Treeから、いくつかの洞察を得ることがDynamicTreeDemoできます。

DynamicTreeDemo

于 2012-06-21T03:52:02.030 に答える