4

I try to make the entire row in a JXTreeTable to become bold.

    final TableCellRenderer doubleOldTableCellRenderer = this.buyTreeTable.getDefaultRenderer(Double.class);
    final TableCellRenderer integerOldTableCellRenderer = this.buyTreeTable.getDefaultRenderer(Integer.class);
    final TableCellRenderer treeTableModelOldTableCellRenderer = this.buyTreeTable.getDefaultRenderer(TreeTableModel.class);
    // "treeTableModelOldTableCellRenderer = null"
    System.out.println("treeTableModelOldTableCellRenderer = " + treeTableModelOldTableCellRenderer);
    this.buyTreeTable.setDefaultRenderer(TreeTableModel.class, new DefaultTableCellRenderer() {

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            Component c = treeTableModelOldTableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            c.setFont(org.yccheok.jstock.gui.Utils.getBoldFont(c.getFont()));
            return c;
        }

    });
    this.buyTreeTable.setDefaultRenderer(Integer.class, new DefaultTableCellRenderer() {

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            Component c = integerOldTableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            c.setFont(org.yccheok.jstock.gui.Utils.getBoldFont(c.getFont()));
            return c;
        }

    });
    this.buyTreeTable.setDefaultRenderer(Double.class, new DefaultTableCellRenderer() {

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            Component c = doubleOldTableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            c.setFont(org.yccheok.jstock.gui.Utils.getBoldFont(c.getFont()));
            //System.out.println(c);
            //System.out.println(c.getFont());
            return c;
        }

    });

However, here is the effect I get :

alt text http://sites.google.com/site/yanchengcheok/Home/treetableproblem.png

May I know how I can make the folder name bold as well?

Thanks

Cheok Yan Cheng
  • 47,586
  • 132
  • 466
  • 875
  • cross posted: http://forums.sun.com/thread.jspa?threadID=5430819&tstart=0 – camickr Mar 06 '10 at 04:48
  • @Jamie Mcllroy has answered your question. You need to implement your Own `TreeCellRenderer` (may be by extending DefaultTreeCellRenderer) and code it to show bold text when required. Then you must set it as the `TreeCellRenderer` using - http://www.jarvana.com/jarvana/view/org/swinglabs/swingx/1.6.1/swingx-1.6.1-javadoc.jar!/org/jdesktop/swingx/JXTreeTable.html#setTreeCellRenderer%28javax.swing.tree.TreeCellRenderer%29 – ring bearer Feb 07 '11 at 21:07

2 Answers2

3

buyTreeTable.setTreeCellRenderer(whateverYourRenderedClass and Renderer are)

Jamie McIlroy
  • 459
  • 2
  • 8
  • 19
1

As "stock" column at column(0) simply just:

buyTreeTable.getColumn(0).setCellRenderer(yourObjectrenderer);
Roufiq
  • 21
  • 3