从 JTable 打印用户指定的列
我有一个应用程序,我想打印一个 JTable,但由于它有很多列,我希望用户选择/限制要打印的列,以便它可以适合常规打印纸。
我正在使用 JTable.print() 函数进行打印。 (http://java.sun.com/docs/books /tutorial/uiswing/misc/printtable.html) 现在,我的解决方案是使用用户选择的列创建另一个 JTable,然后用数据重新填充表,然后将其发送到打印机。
有更好的方法吗?
I have an application, and I would like to print a JTable, but since it has many columns, I would like user to select/limit which columns to print so it can fit in regular printer paper.
I'm using JTable.print() function to print. (http://java.sun.com/docs/books/tutorial/uiswing/misc/printtable.html)
Right now, my solution, is to create another JTable with the columns that user selected, then repopulate the table with the data, then send it to printer.
Is there a better way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正如我在此处回答 ,我通过在打印之前隐藏列并在打印后恢复列来解决这个问题:
对于打印 JTable 的特定部分,只需稍微更改一下此代码即可。
As I've answered here, I solved it by hiding columns before printing and restoring columns after printing:
For printing specific part of a JTable, just change a little bit this code.
最好的方法:只需将列宽设置为零即可隐藏:)
The best way: just set column width to zero then it will be hidden:)