【问题标题】:How to add horizontal/vertical scrollbars to JScrollPane如何向 JScrollPane 添加水平/垂直滚动条
【发布时间】:2012-02-06 17:57:17
【问题描述】:

我想在我的 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);

滚动条在那里,但我仍然无法水平滚动。请参阅下面的屏幕截图。

谢谢!

【问题讨论】:

    标签: java swing jtable jscrollpane


    【解决方案1】:

    你必须为JTable#setAutoResizeMode设置,更多在JTable's教程Setting and Changing Column Widths中描述

    【讨论】:

    • +1 用于自动调整大小模式。默认设置是强制列适应提供的空间。
    【解决方案2】:

    试试

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

    【讨论】:

    • -1,一般情况下,您不应在任何组件上使用 setPreferred 大小。您绝对不应该设置添加到滚动窗格的组件的首选大小,因为当您从表中添加/删除行/列时,滚动条不会动态显示。
    猜你喜欢
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    相关资源
    最近更新 更多