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

JTable和JScrollPane未按应有方式显示

阎祖鹤
2023-03-14
JTable table=new JTable(20,20);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

JScrollPane tableScrollPane=new JScrollPane(table);
tableScrollPane.setBounds(10,70,540,280);
tableScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
tableScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
add(tableScrollPane);
JTable table=new JTable(20,20);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

JScrollPane tableScrollPane=new JScrollPane();
tableScrollPane.setBounds(10,70,540,280);
tableScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
tableScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
tableScrollPane.add(table);
add(tableScrollPane);

共有1个答案

汪典
2023-03-14

为什么会这样,他们两个不应该做同样的事情吗?

没有。

JScrollPane包含许多组件,包括滚动条和视口,并使用它自己的内部布局管理器来设置每个组件的位置。您不能只是“添加”一个组件到滚动窗格,因为布局管理器不支持这一点。

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

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

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

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

  • 我是Swing的新手,我正在使用JTable对象来显示一些信息。基本上,框架包含一个JPanel->GridBagLayout管理器。JPanel包含一个JLabel(“Status Table”)、一个包含JTable的JScrollPane、“Sort By”JButton和一个JComboBox。 如何设置列/列标题的宽度,以便完整地显示列/列标题中包含的文本? 我试着用 我尝试使用JScr