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