Swing版本的report engine

         最近公司闲的真是要命,有一个月没一点事做了,公司马上有些老系统得程序要转移到java来,用Swing编写,闲来无事设计一个Swing的简单实用得报表引擎。

          

          具体设计思路和代码这几天都写得差不多了功能大概如下:

           1.自定义列或表格是否排序功能

           2.根据document得节点模型定义header,使其能够显示任意高度得分组标题

           3.报表是否分页显示,并指定页数pagesize

           4.提供简单实用得cellrenderer,celleditor接口,数据提供范围为引擎中现存得所有数据集,不限制于当前显示页

           5.根据指定得MessageFormat提供date,number,img,checkbox等实用default类得renderer和editor

           6.提供下载功能并给出下载接口以便扩充下载文件得格式和方式

           7.提供打印预览和打印功能(不提供接口)工厂来只提供符合本报表类型得数据表格得打印

           8.提供类似于html总table得各种属性定义其中style属性有row对象column对象cell对象集成得统一接口进行定义。

           9.重写和屏蔽tablemodel中得部分方法,并给出更加实用得API,例如实时设定某单元格或列是否可编辑,并给出color,font,width,heght等属性得简单实现

           10.提供标准得update,delete,download接口参数传递为本数据集合和其他可能用到得对象

           11.报表生成采用3代码实现即xml文件注册->提供数据源->生成报表

           现在0.1版本已经实现简单效果如下:

         xml文件:

        <?xml version="1.0" encoding="UTF-8"?>
<table update="true" print="true" pagesize="20" download="true"
 language="ch" delete="true" check="true" rh="110">
   <sql-def></sql_def>//sql默认注入预留

  <cache>0</cache>//0sql改变之前永久有效,1立即失效即每次连接工厂生成报表重新取数据
 <columns>
     <gcolumn title="User_Header">
      <column>
      <name>user_id</name>
      <title>userId</title>
      </column>
        <column>
      <name>username</name>
      <title>User_Name</title>
      </column>
      <column>
      <name>password</name>
      <title>Password</title>
      </column>
     </gcolumn>
      <gcolumn title="User_Connect">
      <column>
      <name>address_id</name>
      <title>Address_Id</title>
      </column>
        <column>
      <name>phone</name>
      <title>Phone_No</title>
      </column>
      <column>
      <name>address</name>
      <title>Address</title>
      </column>
      <column visible="false">
      <name>email</name>
      <title>Email</title>
      </column>
     </gcolumn>
   <column p="{0,date,MM/dd/yy}">
   <name>entrydate</name>
   <title>EntryDate</title>
   </column>
   <column p="{0,number,$###,###.00}">
   <name>price</name>
   <title>Price</title>
   </column>
   <column r="img" basepath="http://www.google.cn/intl/zh-CN/" width="210">
   <name>img</name>
   <title>Image</title>
   </column>
 </columns>
</table>

       显示效果

      

 

            本菜鸟才疏学浅, 对于功能和代码编写大家又什么建议请多多指教。如果代码完成将在第一时间给出下载链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值