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

添加JScrollPane后不显示JTable

阎成天
2023-03-14
table = new JTable(tableModel);
final TableRowSorter<TableModel> sorter = new TableRowSorter(tableModel);
table.setRowSorter(sorter);
table.setBounds(122, 47, 162, 204);

JScrollPane scroller = new JScrollPane(table);
frame.getContentPane().add(scroller);

共有1个答案

越胤
2023-03-14

正如@hovercraftfullofeels明智地指出的,调用component.setbounds()会把事情搞砸:

公共空值设置范围(int x,int y,int width,int height)

移动此组件并调整其大小。左上角的新位置由xy指定,新大小由widthheight指定。

如果您需要为表提供默认大小,那么您可以考虑使用jtable.setPreferredScrollabLeviewPortSize()方法,但是请始终记住这个主题:我应该避免在Java Swing中使用set(PreferredMaximumMinimum)大小方法吗?

特别是在这种情况下,如果框架只包含滚动窗格,那么这个序列就足够了:

JScrollPane scroller = new JScrollPane(table);
frame.getContentPane().add(scroller);
frame.pack();

因为框架的内容窗格已经有一个默认的布局管理器:BorderLayout。最后,不要忘记调用frame.pack()方法。

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

  • 问题内容: 我扩展了JScrollPane并向其中添加了几个组件。当我将滚动窗格添加到JFrame时,不显示任何组件。如果我的类扩展了(例如,JPanel),然后将其添加到独立的JScrollPane中,则一切正常。我无法理解这种行为。谁能解释我,为什么会发生? 这是两种变体(一种有效,一种无效): 此变体不起作用: 这个很好用: 问题答案: 您可能不需要或不想扩展JScrollPane,但是无论

  • 我试图将JTable添加到JScrollPane中。但是做完这个我就看不到桌子了。 我怎么了?

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

  • 我有一个按钮和一个HTML静态表。现在,我的工作是使用引导模式特性在弹出窗口上显示html表(假设这个情况类似于预览功能,用户点击预览按钮,他将看到他在表中输入的内容。)我目前正在工作的一个虚拟的桌子,我几乎完成了显示的桌子。 但是,问题来了。当点击关闭按钮后,弹出的窗口被关闭,如果我再次点击预览按钮,我会在弹出的窗口中看到两个表。请找到下面的代码片段(HTML表和JS脚本)。 帮助我如何避免关闭

  • 问题内容: 我有一个gui,它的Panel包含一系列标签和TextField,并使用spring布局(这是mainPanel),而另一个Panel仅包含button(buttonPanel)。我正在尝试使我的mainPanel也具有垂直滚动条。我想实现我的GUI,以便在JFrame中有2个面板。mainPanel出现在框架的顶部,而buttonPanel出现在mainPanel的下方。 我的问题是