Hi,
I am using a ULCTableTree. I am trying to change the appearance of a
column. But when I use the DefaultTableTreeHeaderCellRenderer to change
the appearance, the ULCTableTree does not honor it.
I am attaching a sample application demonstrating the problem.
Environment:
- ULC Version: 6.1.1
- Java: 1.4.2 on both client and server.
Thanks and Regards
Indukumar
X----------------------------------
import com.ulcjava.base.application.AbstractApplication;
import com.ulcjava.base.application.IRendererComponent;
import com.ulcjava.base.application.ULCFrame;
import com.ulcjava.base.application.ULCScrollPane;
import com.ulcjava.base.application.ULCTableTree;
import
com.ulcjava.base.application.tabletree.DefaultMutableTableTreeNode;
import
com.ulcjava.base.application.tabletree.DefaultTableTreeHeaderCellRendere
r;
import com.ulcjava.base.application.tabletree.DefaultTableTreeModel;
import com.ulcjava.base.application.util.Color;
import com.ulcjava.base.development.DevelopmentRunner;
public class ULCTableTreeTest extends AbstractApplication {
public void start() {
ULCFrame frame = new ULCFrame();
frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE);
DefaultMutableTableTreeNode root = new
DefaultMutableTableTreeNode(new Object[] {"root", "root", "root"},
new boolean[] {false, false, true}, false);
DefaultMutableTableTreeNode row1 = new
DefaultMutableTableTreeNode(new Object[] {"AAA", "BBB", "CCC"},
new boolean[] {false, false, true}, false);
DefaultMutableTableTreeNode row1a = new
DefaultMutableTableTreeNode(new Object[] {"aaa", "bbb", "ccc"},
new boolean[] {false, false, true}, true);
DefaultMutableTableTreeNode row2 = new
DefaultMutableTableTreeNode(new Object[] {"DDD", "EEE", "FFF"},
new boolean[] {false, false, true}, false);
DefaultMutableTableTreeNode row2a = new
DefaultMutableTableTreeNode(new Object[] {"ddd", "eee", "fff"},
new boolean[] {false, false, true}, true);
row1.add(row1a);
row2.add(row2a);
root.add(row1);
root.add(row2);
DefaultTableTreeModel model = new
DefaultTableTreeModel(root, new String[] {"As", "Bs", "Cs"});
model.setRoot(root);
ULCTableTree tree = new ULCTableTree(model);
tree.setRootVisible(false);
tree.setShowsRootHandles(true);
/*
* Setting the following changes the appearance of the
corresponding
* column by losing its border. But, the background
color is not
* changed.
*/
tree.getColumnModel().getColumn(2).setHeaderRenderer(new
DefaultTableTreeHeaderCellRenderer() {
public IRendererComponent
getTableTreeCellRendererComponent(ULCTableTree tableTree, Object value,
boolean selected, boolean hasFocus,
boolean expanded, boolean leaf, Object node) {
super.getTableTreeCellRendererComponent(tableTree, value, selected,
hasFocus, expanded, leaf, node);
setBackground(Color.green);
return this;
}
});
frame.add(new ULCScrollPane(tree));
frame.setVisible(true);
}
public static void main(String[] args) {
DevelopmentRunner.setApplicationClass(ULCTableTreeTest.class);
DevelopmentRunner.run();
}
}
X----------------------------------
_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer