繁体   English   中英

如何制作可滚动的JTable

[英]How to make a scrollable JTable

问题1)我有一个JPanel ps,其布局为空; JScrolPane scrollPane和JTable表。 我已将表添加到scrollPane,然后将scrollPane添加到Jpanel ps。 以下是我这样做的代码:

ps = new JPanel();
ps.setLayout(null);
ps.setSize(1000,600);

scrollPane = new JScrollPane();
scrollPane.setBounds(10, 119, 975, 300);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
ps.add(scrollPane);

table = new JTable(data, columns);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);

假定不会创建带有水平滚动条的scrollPane,并且当列数以无法在单个屏幕上处理的方式增加时,滚动条将有助于显示内容。 请参阅“ AUTO_RESIZE_OFF”。

但是发生的是,所有列的大小是固定的(我不知道有多少个字符。它们的宽度都是相同的。)。 因此,无法完全查看列的名称。

我的问题是,是否可以增加显示的列的宽度,或者显示所有具有自己宽度的列? 另外,如何启用滚动?

  1. 是。 参见TableColumn 通常,我过去所做的是使用ResultSetMeta数据来构建列模型。 看看如何使用表格以获取更多信息
  2. 是的,但是JTable可能会有些麻烦。 看一下“ 打印打印JTable” 如果有时间的话,有一些关于SO的很好的例子。
  3. 最好在数据库端过滤数据。 获得一组结果后,要过滤该组结果,可以使用其ResultSetMetaData确定要分组的列。 同样,如果还没有结果,则可以使用DatabaseMetaData确定数据库中表的列
  1. 关于问题1和问题2的打印作业,建议您查看碧玉报告
  2. 对于您的问题3,我不知道您的数据库结构是什么,因此很难说出来,但是看起来您正在寻找的是JTable中的行跨度。 因此,请尝试在Google周围查找此类内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM