Hi Markus, I have noted your issues. I will investigate and get back to you.
Thanks and regards, Janak >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] Behalf Of >[EMAIL PROTECTED] >Sent: Tuesday, August 29, 2006 6:15 PM >To: [email protected] >Subject: [ULC-developer] DefaultRenderer on Tree / TableTree > > > >We discovered some Issues / Swing differences on the ULCTree and >ULCTableTree: > >- Using a custom renderer extended from >DefaultTreeCellRenderer/DefaultTableTreeCellRenderer on ULCTree / >ULCTableTree results in the lost of the default icons provided by >the current look&feel. Using Swing's JTree the default icons are >drawn. (See classes SimpleULCTree and SimpleJTree at the bottom of >the mail) > >- On a ULCTree with a custom cell renderer (or on the tree column >of ULCTableTree) the focus is drawn differently than the Swing >counterpart. In ULC the icon is inside the focus border. > >- On a ULCTableTree with a custom cell renderer: The lines of the >tree are not drawn on the selected row(s). (See class ULCTableTreeTest) > >- Setting a default tree icon of the look and feel to null (e.q. >UIManager.put("Tree.leafIcon", null) ) results in a >NullPointerException in the TableTree-Widget. > >Is there a workaround especially for the focus and line drawing issue ? > >Best Regards, >Markus Wyss >UBS AG > >Tel. +41-44-236 31 02 >Fax.+41-44-236 30 22 > >public class SimpleULCTree extends AbstractApplication { > > public void start() { > ULCFrame frame = new ULCFrame("ULCTree with >DefaultTreeCellRenderer"); > > ULCBorderLayoutPane colorBox = new ULCBorderLayoutPane(); > colorBox.add(new ULCScrollPane(createTree())); > > frame.getContentPane().add(colorBox); > frame.pack(); > frame.setSize(400, 400); > frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE); > frame.setVisible(true); > } > > private ULCTree createTree() { > final ULCTree tree = new ULCTree(new MyTreeModel()); > tree.setCellRenderer(new MyTreeRenderer()); > return tree; > } > > class MyTreeRenderer extends DefaultTreeCellRenderer { > > public MyTreeRenderer() { > super(); > ULCIcon icon = new >ULCIcon(this.getClass().getResource("ampel_rot.gif")); > setClosedIcon(icon); > setOpenIcon(icon); > setLeafIcon(icon); > } > > } > > public static void main(String[] args) { > DevelopmentRunner.setApplicationClass(SimpleULCTree.class); > DevelopmentRunner.run(); > } > > public class MyTreeModel extends DefaultTreeModel { > > public MyTreeModel() { > super( new DefaultMutableTreeNode("Customers")); > > DefaultMutableTreeNode customers = >(DefaultMutableTreeNode) getRoot(); > > DefaultMutableTreeNode bundle1234 = new >DefaultMutableTreeNode("Bundle 1234"); > customers.add(bundle1234); > > DefaultMutableTreeNode brig = new >DefaultMutableTreeNode("Brig"); > bundle1234.add(brig); > brig.add(new DefaultMutableTreeNode("Account 11111111", true)); > brig.add(new DefaultMutableTreeNode("Account 22222222", true)); > > DefaultMutableTreeNode ascona = new >DefaultMutableTreeNode("Ascona"); > bundle1234.add(ascona); > ascona.add(new DefaultMutableTreeNode("Account >3333333", true)); > > > DefaultMutableTreeNode bundle5678 = new >DefaultMutableTreeNode("Bundle 5678"); > customers.add(bundle5678); > > DefaultMutableTreeNode zuerich = new >DefaultMutableTreeNode("Zürich"); > bundle5678.add(zuerich); > zuerich.add(new DefaultMutableTreeNode("Account >4444444", true)); > } > } >} > >public class SimpleJTree extends JFrame { > > public SimpleJTree() { > super("JTree with DefaultTreeCellRenderer"); > > JPanel colorBox = new JPanel(new BorderLayout()); > colorBox.add(new JScrollPane(createTree())); > > getContentPane().add(colorBox); > pack(); > setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); > setSize(400, 400); > } > > private JTree createTree() { > final JTree tree = new JTree(new MyTreeModel()); > tree.setCellRenderer(new MyTreeRenderer()); > return tree; > } > > > class MyTreeRenderer extends DefaultTreeCellRenderer { > > public MyTreeRenderer() { > super(); > Icon icon = new >ImageIcon(this.getClass().getResource("ampel_rot.gif")); > setOpenIcon(icon); > setClosedIcon(icon); > setLeafIcon(icon); > } > > } > > public static void main(String[] args) { > SimpleJTree simpleTree = new SimpleJTree(); > simpleTree.setVisible(true); > } > > public class MyTreeModel extends DefaultTreeModel { > > public MyTreeModel() { > super( new DefaultMutableTreeNode("Customers")); > > DefaultMutableTreeNode customers = >(DefaultMutableTreeNode) getRoot(); > > DefaultMutableTreeNode bundle1234 = new >DefaultMutableTreeNode("Bundle 1234"); > customers.add(bundle1234); > > DefaultMutableTreeNode brig = new >DefaultMutableTreeNode("Brig"); > bundle1234.add(brig); > brig.add(new DefaultMutableTreeNode("Account 11111111", true)); > brig.add(new DefaultMutableTreeNode("Account 22222222", true)); > > DefaultMutableTreeNode ascona = new >DefaultMutableTreeNode("Ascona"); > bundle1234.add(ascona); > ascona.add(new DefaultMutableTreeNode("Account >3333333", true)); > > > DefaultMutableTreeNode bundle5678 = new >DefaultMutableTreeNode("Bundle 5678"); > customers.add(bundle5678); > > DefaultMutableTreeNode zuerich = new >DefaultMutableTreeNode("Zürich"); > bundle5678.add(zuerich); > zuerich.add(new DefaultMutableTreeNode("Account >4444444", true)); > } > } >} > >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" }, false); > DefaultMutableTableTreeNode primaryOffering = new >DefaultMutableTableTreeNode( > new Object[] { "Offer", "Total", > "Total % " }, true); > DefaultMutableTableTreeNode ubsStrategy = new >DefaultMutableTableTreeNode( > new Object[] { "AAAA", "13605", "16.84" }, false); > DefaultMutableTableTreeNode inUbsStrategy = new >DefaultMutableTableTreeNode( > new Object[] { "BBBBB", "xx", "yy" }, true); > DefaultMutableTableTreeNode ubsXtra = new >DefaultMutableTableTreeNode( > new Object[] { "CCCC", "11", "0.01" }, false); > DefaultMutableTableTreeNode inUbsXtra = new >DefaultMutableTableTreeNode( > new Object[] { "DDDD", "zz", "vv" }, true); > > ubsStrategy.add(inUbsStrategy); > ubsXtra.add(inUbsXtra); > > root.add(primaryOffering); > root.add(ubsStrategy); > root.add(ubsXtra); > > DefaultTableTreeModel model = new DefaultTableTreeModel(root, > new String[] { "col1", "col2", "col3" }); > > model.setRoot(root); > ULCTableTree tree = new ULCTableTree(model); > tree.setRootVisible(false); > tree.setShowsRootHandles(true); > > tree.setTableTreeHeader(null); > ULCTableTreeColumnModel cm = tree.getColumnModel(); > > cm.getColumn(0).setCellRenderer(new >MyCellRenderer(IDefaults.LEFT)); > cm.getColumn(1).setCellRenderer(new >MyCellRenderer(IDefaults.RIGHT)); > cm.getColumn(2).setCellRenderer(new >MyCellRenderer(IDefaults.RIGHT)); > > frame.add(new ULCScrollPane(tree)); > frame.pack(); > frame.setLocation(300, 400); > frame.setSize(700, 300); > frame.setVisible(true); > } > > class MyCellRenderer extends DefaultTableTreeCellRenderer { > public MyCellRenderer(int alignment) { > super(); > setHorizontalAlignment(alignment); > } > } > > public static void main(String[] args) { > DevelopmentRunner.setApplicationClass(ULCTableTreeTest.class); > DevelopmentRunner.run(); > } >} >_______________________________________________ >ULC-developer mailing list >[email protected] >http://lists.canoo.com/mailman/listinfo/ulc-developer _______________________________________________ ULC-developer mailing list [email protected] http://lists.canoo.com/mailman/listinfo/ulc-developer
