【问题标题】:Setting a JTable size to not have blank space将 JTable 大小设置为没有空格
【发布时间】:2015-07-02 10:50:33
【问题描述】:

当我制作 JTable 时;我有列和单行,然后在下面我有大约 20 行的空间,如果我增加窗口大小会更多。我不能少,好像我缩小了窗口大小我只是得到一个垂直滚动条。

我想做的是让 JTable 的大小只到最后一行。

我是这样想的:

newTable.setMaximumSize(new Dimension(Integer.MAX_VALUE, (newTable.getRowCount() + 1) * newTable.getRowHeight()));

但这绝对没有任何作用。改用 setPreferred size 会使白色背景变大一排,但实际表格的大小仍然相同。 http://i.imgur.com/ClpD1Y3.png

我还在 JTable 所在的滚动窗格上尝试了相同的操作,设置最大/最小尺寸没有任何作用,设置首选尺寸允许我通过调整窗口大小来缩小表格,所以我猜我也许可以使用这个和布局来做我想做的事?但是在尝试为滚动窗格提供布局时,我得到了类转换异常。所以我不确定该怎么做。

【问题讨论】:

  • 您只想显示一行?
  • @MadProgrammer 我想显示尽可能多的行,如果我只有一个,那么表格应该是只显示一行所需的大小
  • 这不是JTableJScrollPane 的工作原理
  • @MadProgrammer 我设法通过将 JTable 容器的 prefSize 设置为 0(和相同的高度)而不是最大整数来做到这一点。然后将 maxSize 设置为最大整数和相同的高度。
  • JScrollPane 的首选大小由视图组件的 preferredSize 定义(如果它没有实现 ScrollablegetPreferredViewportSize 如果它实现了)

标签: java swing jtable


【解决方案1】:

设置JTable所在容器的preferredSize,即。滚动窗格

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    相关资源
    最近更新 更多