请问java swing程序怎么实现JTable的打印预览和打印?注意 打印前需要类似于Excel的打印预览

发布网友 发布时间:2022-04-23 12:21

我来回答

2个回答

热心网友 时间:2023-10-13 04:49

请问楼主 你解决了吗 我也需要这个

热心网友 时间:2023-10-13 04:49

最近在写这个报表控件,我罗列了一下已经完成的工作,基本上是照着Excel的功能来实现的
此报表控件要求能在Applet及Swing运行
以下为部分主要完成工作

1. 单元格合并与拆分。
2. 基于JTextArea的渲染器,用来实现多行输入。
3. 由于采用JTextArea作为渲染器,导致文本只能向左对齐,后来通过重载JTextArea得以实现居中,居右,字体下划线等效果:)。
4. 鼠标动态拉行高,拉行宽。
5. 发现行数一多,导致性能下降很历害,所以实现了只刷新当前可视屏幕区域。
6. 单元格属性的设定
    >背景颜色
    >前景颜色
    >字体(大小,粗斜体,下划线,删除线)
    >对角线单元格(中国式报表)
    >边框线等
7. 打印预览
8. 打印
9. 自己实现的打印设置对话框
     >打印水印
     >打印方向
     >纸张页边距
     >打印纸张页数范围
     >打印份数
     >打印时打印机的打印顺序
     >设定打印的页眉和页脚
     >放大打印或缩小打印
     等
10.往单元格加载图片,可预览和打印出来
11.套打模式,在table显示标尺,并重置行高为1cm,行宽为2cm,以方便使用者对应套打纸张
12.为单元格绘制边线
13.查找和替换
14.增加行和列,删除行和列
15.格式刷
16.排序,升和降。可设定优先排序的形式,数值优先或着是中文优先,中文按照拼音排序
17.考贝,复制和贴粘
18.插入图表,目前只实现了柱状图表
19.求和
20.各种热键组合
21.显示和隐藏table网格线

等等功能

目前在开发的功能

导入与导出
报表

计划开发
子报表

我的文章基本是在写这个table时总结出来的实践经验,希望对读者有所启发。

由于JTable本身的功能很少也很弱,网上有个开源针对JTable做了一些扩展实现

http://crionics.com/procts/opensource/faq/swing_ex/JTableExamples1.html

我参考了里边单元格合并的例子,实际上这些例子表面上是OK,用起来却不OK。举个例子吧,如果改变了任意一行行高,则例子中的合并马上OVER,所以不要迷信这些东西

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com