【问题标题】:Center JTable's cells to the middle of the JTable将 JTable 的单元格居中到 JTable 的中间
【发布时间】:2013-05-09 19:42:38
【问题描述】:

如何将JTable 单元格居中到JTable 的中间?

我正在使用表格在表格中绘制框,但是在调整大小时,单元格保持左上对齐。当表格很好地适合单元格时,这不是问题。但是当我调整窗口(和它的表格)的大小时,这是错误的:

我的问题是,是否可以让单元格出现在表格的中间?我想我可以在侧面使用胶水(这是BorderLayout),但我宁愿采用这种方法。

【问题讨论】:

  • “我正在使用 JTable 在表格中绘制框,..” 为什么要滥用 JTable 来处理看起来纯粹是渲染的事情?这是干什么用的?
  • 我尝试使用一个布局管理器,它允许您垂直填充,但也可以水平对齐组件。类似于 GridBagLayout
  • “我可以在侧面使用胶水(这是BorderLayout)”不,你不能,胶水不是适用于BorderLayout的概念。跨度>
  • @AndrewThompson 我只是在涂鸦制作类似俄罗斯方块的东西。 JTable 似乎是一个很好的组件,因为它允许我绘制单个单元格,并且我需要一个 10x20 的矩阵来绘制。 2)好的,对不起。到目前为止,我对布局知之甚少。
  • “我只是在涂鸦制作类似俄罗斯方块的东西。” JTable 完全不适合这种情况。使用自定义绘画并完成它。

标签: java swing jtable centering border-layout


【解决方案1】:

由于您的TableCellRenderer 只是在绘制彩色块,您可以将表格放在FlowLayout 中并覆盖getPreferredScrollableViewportSize()

private static final int WIDE = 10;
private static final int HIGH = 20;
private static final int SIZE = 50;
...
@Override
public Dimension getPreferredScrollableViewportSize() {
    return new Dimension(WIDE * SIZE, HIGH * SIZE);
}

【讨论】:

    猜你喜欢
    • 2013-06-14
    • 2013-05-30
    • 2011-03-16
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多