我想在我的 JTable 中的列中添加正确的单元格填充,我该怎么做?
我尝试在网上搜索,但似乎找不到明确的答案。
我希望有一个人可以帮助我。
问候,乍得
我想在我的 JTable 中的列中添加正确的单元格填充,我该怎么做?
我尝试在网上搜索,但似乎找不到明确的答案。
我希望有一个人可以帮助我。
问候,乍得
@trashgod 正确答案的略微增强版本是将边框与填充混合:这样做可以保证默认边框(焦点指示器)不会丢失:
DefaultTableCellRenderer r = new DefaultTableCellRenderer() {
Border padding = BorderFactory.createEmptyBorder(0, 10, 0, 10);
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
setBorder(BorderFactory.createCompoundBorder(getBorder(), padding));
return this;
}
};
或者使用SwingX ' JXTable 并用荧光笔装饰渲染器:
BorderHighlighter hl = new BorderHighlighter(
BorderFactory.createEmptyBorder(0, 10, 0, 10));
hl.setInner(true);
table.addHighlighter(hl);
尝试使用 JTable 的 setInternalcellSpacing(Dimension d)。这将在两侧设置空间。如果您严格希望在一侧使用渲染器,如下所示