当前位置: 首页 > 知识库问答 >
问题:

JScrollPane-它如何显示JTable标头?

贺元明
2023-03-14

如果只是将JTable添加到JPanel中,默认情况下它不会显示头部。您应该将该表传递给JScrollPane的构造函数,或者使用该表作为参数调用JScrollPaneSetViewPortView。那么实际上,是什么使列标题可见呢?它是JScrollPane(updateuigetui方法)内部呈现的一部分吗?

最初我认为JScrollPane使用它的setColumnHeaderView来实现这一点,但它没有(将null传递给这个方法,表仍然会显示头部)。

共有1个答案

沈旻
2023-03-14

JTable负责执行此操作。

重写JTableaddnotify()方法。基本上,当组件添加到可见容器时调用此方法。

因此,jtable实现检查表的父表是否是jviewport。如果是,则使用setColumnHeaderView(...)方法将表头添加到滚动窗格中。

 类似资料:
  • 我不知道如何解决这个问题,我似乎找不到一个会导致它失败的问题。下面是GUI代码的其余部分。它很长。将jtable添加到jpanel从第152行开始。

  • 通过单击Experiment Parameters选项卡中的一个按钮(参见下面的屏幕截图),我创建并运行一个“PreviewAction”,它创建了一个新的选项卡,并用必要的组件填充它。下面是的代码。编辑:我还发布了一个自包含的最小版本,它模拟了真实项目中的条件,并展示了相同的行为。 这里至少存在两个问题: (或)根本不呈现 没有框架本身那么宽,我不知道为什么 我在挥杆方面不是很好,所以我可能错过

  • 我有一个显示良好的JTable。如果我将表放在JScrollPane中,它将不再显示。为什么不呢?我想在自己的JScrollPane中添加两个表。下面是我的代码,其中我只尝试向第一个表添加一个JScrollPane: 谢了。

  • 问题内容: 我有一个JTable,其中填充了扩展AbstractTableModel的类。问题在于列太短而无法显示列名。我关闭了Jtable AutoResizeMode属性,但是仍然会缩短。我该如何解决? 问题答案: 设置autoresizemode只能防止调整JTable的列大小。要强制使用特定宽度,请检索表列模型: 并设置所需的宽度: