正如“
概念:编辑器和渲染器
”中所讨论的,“表调用表模型的
getColumnClass方法,该方法获取列单元格的数据类型。”
您应该验证您的实现是否
AbstractTableModel返回了合适的值,如本示例中所示。
附录:
我正在尝试呈现一行,而不是一列。
罗布·卡米克(Rob Camick)的“
表行渲染”
方法可以替代此方法
prepareRenderer()。
tabbedPane.addTab("FirstRow", createFirstRow(model));...private JComponent createFirstRow(DefaultTableModel model) { final Font font = new Font("Serif", Font.BOLD, 14); JTable table = new JTable(model) { public Component prepareRenderer( TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer(renderer, row, column); if (!isRowSelected(row)) { c.setBackground(row == 0 ? Color.yellow: getBackground()); c.setFont(row == 0 ? font : getFont()); } return c; } }; table.setPreferredScrollableViewportSize(table.getPreferredSize()); table.changeSelection(1, 1, false, false); return new JScrollPane(table);}


