Java 如何向JScrollPane添加水平/垂直滚动条

Java 如何向JScrollPane添加水平/垂直滚动条,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,我想将水平滚动条添加到我的JScrollPane中,因为我的表现在看起来如下所示: 以下是我创建表的代码: this.table = new JTable(); this.table.setShowGrid(false); this.table.getTableHeader().setFont(ReportViewConstants.TABLE_FONT); this.table.setFont(ReportViewConstants.TABLE_FONT); this.

我想将水平滚动条添加到我的JScrollPane中,因为我的表现在看起来如下所示:

以下是我创建表的代码:

  this.table = new JTable();
  this.table.setShowGrid(false);
  this.table.getTableHeader().setFont(ReportViewConstants.TABLE_FONT);
  this.table.setFont(ReportViewConstants.TABLE_FONT);

  this.scrollPane = new JScrollPane(this.table);
  Dimension size = new Dimension(300, 400);
  this.scrollPane.setPreferredSize(size);
  this.scrollPane.setMinimumSize(size);
  this.scrollPane.getViewport().setBackground(Color.WHITE);
你能指出我做错了什么吗?当我将创建JScrollPane的行更改为:

  this.scrollPane = new JScrollPane(this.table,
    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
    JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
滚动条在那里,但我仍然无法水平滚动。请参见下面的屏幕截图

谢谢

您必须设置,更多内容将在
JTable的
教程中介绍

Dimension tableSize = new Dimension(500, 400);
this.table.setPreferredSize(tableSize);

-1、一般情况下,不应在任何组件上使用setPreferred大小。您绝对不应该设置添加到滚动窗格的组件的首选大小,因为当您从表中添加/删除行/列时,滚动条不会动态显示。+1表示自动调整大小模式。默认设置是强制列与提供的空间相适应。