发布网友 发布时间: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,所以不要迷信这些东西