JAVA WorldWind LayerTree с переключателями

WorldWind LayerTree использует флажки для конфигурации по умолчанию. Есть ли способ изменить флажки на радио-кнопки?

Снимок экрана


person FShieldheart    schedule 22.02.2017    source источник


Ответы (1)


Я не смог найти решение для замены флажков радио-кнопками. Итак, я решил попробовать другой подход, и он работает для меня. Я перехватываю событие изменения свойства 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);
        }       
    }       
});
person FShieldheart    schedule 22.02.2017