2017-02-22 44 views

回答

0

我無法找到與單選按鈕代替複選框的任何解決方案。所以,我決定嘗試另一種方法,它適用於我。我捕獲LayerTree的屬性更改事件並重置除新選擇的節點以外的選定節點。

LayerTree layerTree = new LayerTree(); 
layerTree.addPropertyChangeListener(new PropertyChangeListener(){ 
    @Override 
    public void propertyChange(PropertyChangeEvent evt) { 
     for (Iterator<TreeNode> treeNode = layerTree.getModel().getRoot().getChildren().iterator(); treeNode.hasNext();) { 
       LayerTreeNode layerTreeNode = LayerTreeNode.class.cast(treeNode.next()); 
       if(evt.getSource() instanceof LayerTreeNode && evt.getSource() != layerTreeNode) 
       layerTreeNode.setSelected(false); 
     }  
    }  
});