Java 将JXTreeTable整行加粗
我试图将JXTreeTable中的整行变为粗体Java 将JXTreeTable整行加粗,java,swingx,Java,Swingx,我试图将JXTreeTable中的整行变为粗体 final TableCellRenderer doubleOldTableCellRenderer = this.buyTreeTable.getDefaultRenderer(Double.class); final TableCellRenderer integerOldTableCellRenderer = this.buyTreeTable.getDefaultRenderer(Integer.class); fi
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;
}
});
然而,我得到的效果如下:
我可以知道如何将文件夹名称也加粗吗
感谢您购买TreeTable。设置TreeCellRenderer(无论渲染类和渲染器是什么)作为第(0)列的“库存”列,只需:
buyTreeTable.getColumn(0).setCellRenderer(yourObjectrenderer);
交叉张贴:@Jamie Mcllroy已经回答了你的问题。您需要实现自己的
TreeCellRenderer
(可以通过扩展DefaultTreeCellRenderer)并在需要时对其进行编码以显示粗体文本。然后必须使用将其设置为TreeCellRenderer
-