获取JTable以打印表格格式

时间:2014-06-18 20:03:51

标签: java swing printing jtable format

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

1 个答案:

答案 0 :(得分:1)

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

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。)