Столкнулся с забавной проблеммой.
Некая структура данных отображается с помощью JTree, так как у элементов структуры есть несколько фикрисованных состояний, то был реализован свой класс
public class StateRenderer extends DefaultTreeCellRenderer {
Icon[] stateIcon= new Icon[7];
public StateRenderer(Icon[] icons){
stateIcon=icons;
}
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
setIcon(stateIcon[getStateIndex(value)]);
return this;
}
private int getStateIndex(Object value){
// собственно тут определяем состояние
return ((StateFileTreeNode)value).getState();
}
}
класс StateFileTreeNode наследует DefaultMutableTreeNode.
собственно проблема возникает при смене LookAndFeel, ноды JTree просто напросто не перерисовываются и остаются в первоначальном виде.
Здравствуйте, VaGon, Вы писали:
VG>Столкнулся с забавной проблеммой.
VG>Некая структура данных отображается с помощью JTree, так как у элементов структуры есть несколько фикрисованных состояний, то был реализован свой класс
VG>собственно проблема возникает при смене LookAndFeel, ноды JTree просто напросто не перерисовываются и остаются в первоначальном виде.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4465529
Можно попробовать пересоздать CellRenderer.
Здравствуйте, VaGon, Вы писали:
VG>Столкнулся с забавной проблеммой.
VG>Некая структура данных отображается с помощью JTree, так как у элементов структуры есть несколько фикрисованных состояний, то был реализован свой класс
VG>класс StateFileTreeNode наследует DefaultMutableTreeNode.
VG>собственно проблема возникает при смене LookAndFeel, ноды JTree просто напросто не перерисовываются и остаются в первоначальном виде.
Ну и понятное дело не ты первый, не ты последний:
http://forum.java.sun.com/thread.jspa?threadID=395327&start=0&tstart=0
Здравствуйте, Blazkowicz, Вы писали:
B>Ну и понятное дело не ты первый, не ты последний:
B>http://forum.java.sun.com/thread.jspa?threadID=395327&start=0&tstart=0
спасибо