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


Автор: hagerds 28.4.2012, 21:48
создал дерево с DefaultMutableTreeNode.
хочу добавить в jTree "jCheckBox", так чтобы jCheckBox были у листов, узлов и корня.
и ещё при нажатии на узел или корень должны выделится/сбрасываться автоматически все листы и узлы вложенные в них.

как это реализовать?  было бы не плохо с примером smile 
зарание спасибо!

Автор: hagerds 29.4.2012, 15:21
http://www.javafr.com/codes/JCHECKBOXTREE-JTREE-AVEC-JCHECKBOX-CHAQUE-NOEUD-SOURCE-COMPLET_28052.aspx

нашел то что мне нужно, но в коде без сто граммов не разберёшься. не могу понять как он заполняет дерево. зачем связался с JTree... smile 

Автор: hagerds 30.4.2012, 23:40
не стал связываться с боксами. проблему решил так:

создаю массив объектов.

получаю массив выделенных узлов или листов. 
если это узел, то рекурсией пробигаюсь по всем элементам этого узла и записываю в него все листы (исключая вложенные узлы) добавляем в массив.
иначе если узел , то просто добавляем его в массив.

всё просто smile  smile  smile  

Всем спасибо smile

Добавлено через 7 минут и 32 секунды
е меня ещё вопрос возник по поводу jTree!

возможно ли изменить цвет определённой строки листа в jTree?

к примеру:

дабавили елементы в jTree вот так:

Корень
    узел_1
        лист_1
        лист_2
        лист_3

нажимаем клавишу 
и получаем результат в jTree вот такой:

Корень
    узел_1
        лист_1
        лист_2
        лист_3

Автор: koreyko 10.5.2012, 12:18
Цитата(hagerds @ 30.4.2012,  23:40)
возможно ли изменить цвет определённой строки листа в jTree?

Возможно. Для этого необходимо переопределить метод toString() объекта узла. При этом удобно воспользоваться встроенной поддержкой html. 

Например:

Код

@Override
public String toString(){
    return "<html><font color=#ff0000>node name";
}


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