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

使JTable列填充JScrollPane的Java Swing

韦泳
2023-03-14

我制作了一个显示数据库的GUI JTable。我在尺寸上有一个问题。

如何使JTable的列填充JScrollPane?例如,如果一个表中有很多列,那么它只需保持它们的默认大小并让它们滚动。

如果SQL JTable确实需要滚动,那么我只想让它保持这样,这样它就需要滚动。

这是我制作JTable的代码:

        JPanel panel1 = new JPanel();
        JTable table = new JTable(){
        private static final long serialVersionUID = 1L;

            @Override
                public boolean isCellEditable(int row, int column) {
                   return false;
                }

        };
        JScrollPane stable = new JScrollPane (table);
        stable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        stable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        panel1.add(stable);

共有1个答案

司空皓
2023-03-14

代码中注释以下行:

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

这会使表列伸展以填充ScrollPane的宽度

拉伸列以适应整个表格的宽度会使它看起来很丑。相反,我建议将以下特性添加到您的表中。

这使您的jtable看起来更专业

 类似资料:
  • 问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。

  • 问题内容: 我有一个带有表,组合框的框架,我想通过组合框用数据库中的数据填充表,但是如果我与itemlistener一起使用,我不会看到没有itemlistener的表,然后我会看到包含数据的表(combob = combobox) 问题答案: 您有几个问题: 您使用不正确。您的代码可能可以运行(我不确定),但是它没有利用的功能。 从ResultSet读取数据的代码没有意义,因为您甚至根本没有从R

  • 问题内容: 我想在运行时用许多行填充JTable(说10000)。但是我所有的尝试都非常糟糕且效率低下。 起点是获取代表一行的对象列表的方法。我试图通过SwingWorker填写表格,但这对我来说仅适用于小数据。 另一个尝试是直接设置数据而不使用任何类型的线程,但这也非常慢,至少UI不会像SwingWorker那样被阻塞。 那么,您如何做到这一点呢?该表应逐行或逐块填充,但不能全部由一个填充,同时

  • 我有一个带有table的框架,combobox,我想通过combobox用来自数据库的数据填充表,但是如果我使用itemlistener我看不到表,没有itemlistener和,我就看到了带有数据的表(combob=combobox)

  • 问题内容: 我正在尝试使用我的Derby数据库数据填充Netbeans GUI-builder jTable。 我在Account.java类中使用以下代码: 理想情况下,我希望能够返回其中包含参数数据和列的tableModel,因为我知道在GUI中执行此方法是一种不好的做法。在线上的所有教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它看不到数据和列,