Сделайте JXTreeTable целой строкой жирным - PullRequest
4 голосов
/ 06 марта 2010

Я пытаюсь сделать всю строку в JXTreeTable жирным шрифтом.

    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;
        }

    });

Однако вот такой эффект я получаю:

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

Могу ли я узнать, как сделать имя папки жирным?

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 февраля 2011

buyTreeTable. setTreeCellRenderer (какими бы ни были ваши классы визуализации и Renderer)

1 голос
/ 10 июля 2012

Как столбец "акции" в столбце (0) просто:

buyTreeTable.getColumn(0).setCellRenderer(yourObjectrenderer);
...