Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > jComboBox в jTree


Автор: Swatch 16.1.2008, 08:10
Добрый день.

Подскажите, пожалуйста, как сделать так, чтобы при двойном клике на ноде дерева появлялся ComboBox с выпадающим списком и, после того, как оттуда что-то выберут, выбранное значение заменяло старое название узла.

Автор: SID_M 16.1.2008, 10:14
Код

        String[] values = {"Значение1", "Значение2"};
        jXTree1.setCellEditor(new DefaultCellEditor(new JComboBox(values)));
        jXTree1.setEditable(true);


После этого получится что-то вроде картинки в приложении...

Автор: Swatch 22.1.2008, 09:47
Большое спасибо. Но у меня возникло еще 2 вопроса:
1. можно как-то сделать так, чтобы комбоБокс появлялся только при нажатии на листочки, а при нажатии на узлы не появлялся???
2. почему-то, выбранное значение из комбобокса при переключении на другие узлы не заменяет бывшее название узла... :( как это поправить???

Автор: w1nd 22.1.2008, 14:25
Цитата(Swatch @  22.1.2008,  09:47 Найти цитируемый пост)
можно как-то сделать так, чтобы комбоБокс появлялся только при нажатии на листочки, а при нажатии на узлы не появлялся?

Переопределите метод JTree.isPathEditable(TreePath).


Цитата(Swatch @  22.1.2008,  09:47 Найти цитируемый пост)
2. почему-то, выбранное значение из комбобокса при переключении на другие узлы не заменяет бывшее название узла... :( как это поправить???

Установите в true свойство invokesStopCellEditing дерева.

Автор: Swatch 23.1.2008, 10:46
хммм... а как можно переопределить метод JTree.isPathEditable(TreePath)? smile 

Автор: batigoal 23.1.2008, 11:47
Цитата(Swatch @  23.1.2008,  11:46 Найти цитируемый пост)
хммм... а как можно переопределить метод JTree.isPathEditable(TreePath)? smile  

Унаследоваться от JTree и написать свою реализацию этого метода. Соответственно, потом вместо JTree использовать полученный MyJTree.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)