java - 获取 JTable 以打印表格格式

标签 java swing printing jtable format

所以我有一个标准的 JTable,我希望用户能够将其打印出来。我使用了 JTable.print() ,这对于打印出表格的精确副本来说很好,但我希望以表格格式显示它,只有列名,然后是它们下面的数据,没有网格或任何东西。我以为这很简单,但我不知道该怎么做!有人做过这个吗?如果是这样,有人可以为我提供代码示例/示例吗?谢谢。

最佳答案

您可以禁用网格线,例如......

JTable printTable = new JTable(table.getModel());
printTable.setSize(printTable.getPreferredSize());
JTableHeader tableHeader = printTable.getTableHeader();
tableHeader.setSize(tableHeader.getPreferredSize());

printTable.setShowHorizontalLines(false);
printTable.setShowVerticalLines(false);
printTable.print(JTable.PrintMode.FIT_WIDTH);

这使用临时的离屏 JTable 来进行实际打印,因此您需要确保配置任何所需的渲染器,但这个想法是合理的。

此基本功能可确保屏幕上的 JTable 不会随着更改而更新,这可能会让用户感到有点奇怪。

它还允许您根据需要更改TableHeader;)

关于java - 获取 JTable 以打印表格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294117/

相关文章:

Java正则表达式至少匹配斯堪的纳维亚字母之一

java - 如何将 JLabel 的文本放在其图标下

java - Source Sans Pro 的 TTF 和 OTF 版本在 Swing (Nimbus L&F) 中的显示方式不同

python - 在新的 cmd 窗口中打印 python 代码的输出

python - 与列表字典和值相关的文件输出错误

Java 替代 @FXML 注入(inject) Controller ?

java - 显示标签问题

java - 在 ConcurrentHashMap 线程安全内同时更新 BigDecimal

java - Swing 自动完成大型、昂贵的数据集

java - 使用页眉和页脚打印 swt 浏览器内容