﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-学用Java</title><link>http://www.blogjava.net/fralepg/</link><description>奇新Java控件---Java控件提供商和Java RIA, Web, J2ME解决方案开发商</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 08:16:01 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 08:16:01 GMT</pubDate><ttl>60</ttl><item><title>JComponentPack 3.0  功能介绍</title><link>http://www.blogjava.net/fralepg/archive/2009/04/13/265254.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Mon, 13 Apr 2009 04:11:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/04/13/265254.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/265254.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/04/13/265254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/265254.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/265254.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" /><!--[if gte mso 9]><xml>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
</xml><![endif]--><!--[if gte mso 9]><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:""@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman";}
h2
{
margin-right:0cm;
margin-left:0cm;
font-size:18.0pt;
font-family:宋体;
font-weight:bold;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
p
{
margin-right:0cm;
margin-left:0cm;
font-size:12.0pt;
font-family:宋体;}
/* Page Definitions */
@page
{}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{
mso-style-parent:"";
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
</style>
<![endif]-->
<p style="margin: 6pt 0cm; text-indent: 24pt;"><span style="font-size: 12pt;"><a href="http://www.zfqjava.com/zh_CN/docs-JComponentPack.html">JComponentPack </a></span><span style="font-size: 12pt; font-family: 宋体;">是一个基于</span><span style="font-size: 12pt;">Java Swing</span><span style="font-size: 12pt; font-family: 宋体;">的</span><span style="font-size: 12pt;">GUI</span><span style="font-size: 12pt; font-family: 宋体;">类库，一系列可视化的</span><span style="font-size: 12pt;">JavaBeans</span><span style="font-size: 12pt; font-family: 宋体;">集合，它基于</span><span style="font-size: 12pt;">Swing</span><span style="font-size: 12pt; font-family: 宋体;">的</span><span style="font-size: 12pt;">MVC</span><span style="font-size: 12pt; font-family: 宋体;">架构，是</span><span style="font-size: 12pt;">100%</span><span style="font-size: 12pt; font-family: 宋体;">的纯</span><span style="font-size: 12pt;">Java</span><span style="font-size: 12pt; font-family: 宋体;">类库，它包括</span><span style="font-size: 12pt;">20</span><span style="font-size: 12pt; font-family: 宋体;">多个</span><span style="font-size: 12pt;">Swing </span><span style="font-size: 12pt; font-family: 宋体;">所没有的控件，如</span><span style="font-size: 12pt;">EXCEL</span><span style="font-size: 12pt; font-family: 宋体;">风格</span><span style="font-size: 12pt;">Java</span><span style="font-size: 12pt; font-family: 宋体;">的电子表格控件，读取数据库表的</span><span style="font-size: 12pt;">Java</span><span style="font-size: 12pt; font-family: 宋体;">表格控件，日历控件，类似资源管理器的列表控件，向导框架等等，这些</span><span style="font-size: 12pt;"> JavaBeans</span><span style="font-size: 12pt; font-family: 宋体;">可以直接拖动到您的图形用户界面，它可提高您的工作效率，加快您的项目开发过程。</span></p>
<h2 style="margin: 6pt 0cm; text-indent: 24.1pt;"><span style="font-size: 12pt;">功能列表</span></h2>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/jbean-app-framework.html">JBean应用程序框架</a> </span></p>
<p style="margin: 6pt 0cm; text-indent: 24pt;">JBean应用程序框架提供了一个标准的Swing应用程序框架，它支持从属性文件创建Actions,创建和动态显示菜单，也支持创建单选按钮，多选按钮，能动态改变按钮状态。它提供了一个资源管理类，能够从定义好的资源文件装载小图标，菜单和按钮的资源。&nbsp;</p>
<p style="margin: 6pt 0cm; text-indent: 24pt;">JBean应用程序框架包含了一些常用的标准控件，包括打印和打印预览控件，状态栏控件，登陆对话框，反馈对话框，外观改变对话框等。&nbsp;</p>
<p style="margin: 6pt 0cm; text-indent: 24pt;">JBean应用程序框架包含了一些常用的单元格绘制和编辑器，它们支持通用的数据类型，包括数字，日期，文件，图表，颜色等类型。这些单元格绘制和编辑器也提供了不同的控件支持，包括复选框，下拉框等。</p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/features-componentset.html">JComponentSet控件集</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt;">JComponentSet</span><span style="font-size: 12pt; font-family: 宋体;">是一个</span><span style="font-size: 12pt;">Java
swing</span><span style="font-size: 12pt; font-family: 宋体;">控件集</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">包括</span><span style="font-size: 12pt;">JWizardPane,
JListView, Layout Suite (CellLayout, BoxLayout2, CardLayout2, GridLayout2), JDirChooser,
JCalendar, JFontChooser, JLinkButton, JSidePane, JSideBar, JImageViewer, XTree,
XCheckBox, JCardPane, JGridPane</span><span style="font-size: 12pt; font-family: 宋体;">等一系列控件</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/common-shape.html">图形控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">提供了常见的图形</span><span style="font-size: 12pt;">, 2D</span><span style="font-size: 12pt; font-family: 宋体;">图形和</span><span style="font-size: 12pt;">3D</span><span style="font-size: 12pt; font-family: 宋体;">图形</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/basic-chart.html">图表控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">支持</span><span style="font-size: 12pt;">3</span><span style="font-size: 12pt; font-family: 宋体;">种不同的图表类型</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">分别是饼形图，条形图和线形图</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/core-formula.html">核心公式框架</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">核心公式框架定义了一个通用的公式框架，包括函数和公式定义，公式解析器等接口。</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/features-core-component.html">JDataGrid核心控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/modelio.html">普通文件格式的输入和输出</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">支持输入和输出多种文件格式</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">包括</span><span style="font-size: 12pt;">csv, html, txt.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/features-spreadsheet-component.html">JDataGrid电子表格控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">电子表格控件是了一个</span><span style="font-size: 12pt;">Java
swing </span><span style="font-size: 12pt; font-family: 宋体;">电子表格控件</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">提供了基本的功能</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">如撤销和重做</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">合并单元格</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">拼写检查</span><span style="font-size: 12pt;">,Excel</span><span style="font-size: 12pt; font-family: 宋体;">文件的输入和输出</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">打印和打印预览等</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">也包括了复杂的高级功能</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/cell-formula.html">电子表格公式</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">支持许多函数，例如逻辑函数</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">日期函数</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">数学计算函数</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">文本函数</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">单元格函数</span><span style="font-size: 12pt;">, </span><span style="font-size: 12pt; font-family: 宋体;">和部分的统计函数</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/workbook.html">高级文件格式的输入和输出</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">支持输入和输出多种文件格式</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">包括</span><span style="font-size: 12pt;">Excel xls, Excel xml, PDF</span><span style="font-size: 12pt; font-family: 宋体;">等</span><span style="font-size: 12pt;">.</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/jdatagrid-spreadsheet-javafx.html">JDataGrid电子表格JavaFX控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">最新的</span><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">电子表格控件支持</span><span style="font-size: 12pt;">JavaFX</span><span style="font-size: 12pt; font-family: 宋体;">平台，新添加了</span><span style="font-size: 12pt;">JavaFX</span><span style="font-size: 12pt; font-family: 宋体;">控件</span><span style="font-size: 12pt;">"DataGrid"</span><span style="font-size: 12pt; font-family: 宋体;">和</span><span style="font-size: 12pt;">"DataGridBean"</span><span style="font-size: 12pt; font-family: 宋体;">，您可以在</span><span style="font-size: 12pt;">JavaFX</span><span style="font-size: 12pt; font-family: 宋体;">脚本中直接使用这些控件，这些</span><span style="font-size: 12pt;">JavaFX</span><span style="font-size: 12pt; font-family: 宋体;">控件直接支持最新的</span><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">电子表格服务器端控件。</span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/jdatagrid-spreadsheet-Javaee.html">JDataGrid电子表格JavaEE服务器端控件</a> </span></p>
<p style="margin: 6pt 0cm; text-align: left; text-indent: 24pt;" align="left"><span style="font-size: 12pt; font-family: 宋体;">最新的</span><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">电子表格服务器端控件能部署在</span><span style="font-size: 12pt;">JavaEE</span><span style="font-size: 12pt; font-family: 宋体;">应用服务器上，</span><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">小程序</span><span style="font-size: 12pt; font-family: 宋体;">直接支持最新的服务器端控件，您可以通过简单的设置，设置一个服务器端控</span><span style="font-size: 12pt; font-family: 宋体;">件的</span><span style="font-size: 12pt;">URL</span><span style="font-size: 12pt; font-family: 宋体;">，就能读取，保存，下载各种不同格式的电子表格文件，所有的配置</span><span style="font-size: 12pt; font-family: 宋体;">在服务器端完成。</span></p>
<p style="margin: 6pt 0cm; text-indent: 24pt;"><span style="font-size: 12pt; font-family: Symbol;">&#183;</span><span style="font-size: 12pt; font-family: 宋体;">&nbsp;<a href="http://www.zfqjava.com/zh_CN/features/componentpack/features-database-component.html">JDataGrid数据库控件</a></span></p>
<p style="margin: 6pt 0cm; text-indent: 24pt;"><span style="font-size: 12pt;">JDataGrid</span><span style="font-size: 12pt; font-family: 宋体;">数据库控件是一个能够直接对数据库操作的表格</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">基于标准的</span><span style="font-size: 12pt;">JDBC</span><span style="font-size: 12pt; font-family: 宋体;">技术</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">能够直接操作</span><span style="font-size: 12pt;">ResultSet</span><span style="font-size: 12pt; font-family: 宋体;">和</span><span style="font-size: 12pt;">RowSet,</span><span style="font-size: 12pt; font-family: 宋体;">并提供如打印和打印预览</span><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">多种格式的文件输入和输出的功能</span><span style="font-size: 12pt;">.</span></p>
<h2 style="text-indent: 27pt;"><span style="font-size: 12pt;">试用版下载（<a href="http://www.zfqjava.com/zh_CN/download.html" target="_blank">点击下载</a>）</span></h2>
<img src ="http://www.blogjava.net/fralepg/aggbug/265254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-04-13 12:11 <a href="http://www.blogjava.net/fralepg/archive/2009/04/13/265254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JComponentPack3.0正式发布</title><link>http://www.blogjava.net/fralepg/archive/2009/04/10/264840.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Fri, 10 Apr 2009 06:47:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/04/10/264840.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/264840.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/04/10/264840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/264840.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/264840.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  新功能介绍：<br><br>　　3.0版本添加了最新的JDataGrid电子表格服务器端控件，JDataGrid小程序直接支持最新的服务器端控件，您可以通过简单的设置，设置一个服务器端控件的URL，就能读取，保存，下载各种不同格式的电子表格文件， 所有的配置在服务器端完成。<br><br>　　3.0版本添加了JDataGrid JavaFX 控件"DataGrid"和"DataGridBean"，您可以在JavaFX脚本中直接调用 这些控件，这些JavaFX控件直接支持最新的JDataGrid电子表格服务器端控件。&nbsp;&nbsp;<a href='http://www.blogjava.net/fralepg/archive/2009/04/10/264840.html'>阅读全文</a><img src ="http://www.blogjava.net/fralepg/aggbug/264840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-04-10 14:47 <a href="http://www.blogjava.net/fralepg/archive/2009/04/10/264840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍JCalendar的新功能</title><link>http://www.blogjava.net/fralepg/archive/2009/02/26/256732.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Thu, 26 Feb 2009 01:39:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/26/256732.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256732.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/26/256732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256732.html</trackback:ping><description><![CDATA[<p><strong>JCalendar new features in JComponentPack</strong><br />
</p>
<ol>
    <li>New property to control  the action click count</li>
    <li>New client property to  control the "today&#8221; button action behavior</li>
    <li>JCalendar works with  AComboBox and add new calendar popup icon.</li>
</ol>
<p>1. New property to control the action click count</p>
JCalendar provides new property named &#8220;actionClickCount&#8221;  since <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack  1.1.0</a>, use this property, you can set the mouse click count to fire the  action event, JCalendar adds the following methods:<br />
&nbsp;  JCalendar.getActionClickCount();<br />
&nbsp;  JCalendar.setActionClickCount(int);
<p>2. New client property to control the "today&#8221; button  action behavior</p>
With this new client property &#8220;JCalendar.todayButtonFireActionEventEnabled&#8221;  since <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack  1.1.0</a>, the JCalendar can fire the action event when the today button  clicked.
<p>The above new features is very important when JCalendar working with
the AComboBox, the the popup JCalendar make visible, by using the above
property, the popup can hidden when use click a "today&#8221; button or
select a specified day.</p>
<p>3. JCalendar works with AComboBox and add new calendar  popup icon.</p>
When AComBoBox set a Date value , the popup  icon automatically became a calendar icon, this is a nice feature since <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.1.0</a>,  see the screenshot for this feature:
<p> <img src="http://www.zfqjava.com/article/JCalendar-new-features-in-JComponentPack-1.1.0/calendar.jpg" alt="JCalendar - JComponentPack 1.1.0" /></p>
<img src ="http://www.blogjava.net/fralepg/aggbug/256732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-26 09:39 <a href="http://www.blogjava.net/fralepg/archive/2009/02/26/256732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍JComponentPack产品中的JListView控件</title><link>http://www.blogjava.net/fralepg/archive/2009/02/25/256564.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Wed, 25 Feb 2009 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/25/256564.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256564.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/25/256564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256564.html</trackback:ping><description><![CDATA[<br />
<p>If you want to implements the Windows explorer like feature in Java swing application, the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component meets your requirements exactly.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component
support the 5 different view modes: small icon, large icon, list,
thumbnails, details, all these view mode can change on the fly, the
methods &#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#setViewMode%28int%29" target="_blank">JListView.setViewMode</a>&#8221; can change the view mode of <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html">JListView</a> </strong>component.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component have the MVC design concept, a simple <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html" title="interface in javax.swing.table" target="_blank">TableModel</a> </strong>can be provided for it&#8217;s data, a simple <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/CellProvider.html" target="_blank"><em>CellProvider</em></a> </strong>such <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/IconProvider.html" target="_blank"><em>IconProvider</em></a> </strong>can be provided for it&#8217;s icon. Should write a <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a> </strong>subclass for its renderer and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellEditor.html" target="_blank">DefaultCellEditor</a> </strong>subclass for it&#8217;s editor. The article &#8220;<a href="http://www.zfqjava.com/article/Introduce-Cell-Renderer.html" target="_blank">Introduce Cell Renderer</a>&#8221; introduce why using the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a></strong>.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component use a <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ListSelectionModel.html" title="interface in javax.swing" target="_blank">ListSelectionModel</a> </strong>as
it&#8217;s selection model, you can change the selection model&#8217;s mode, it
support single selection, single interval selection, multiple interval
selection, you can use the following methods to get the selected values:<br />
</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> &nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getSelectedValue%28%29" target="_blank">JListView.getSelectedValue();</a> // get the lead selection value<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getSelectedValues%28%29" target="_blank">JListView.getSelectedValues();</a> // get all selected values
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component provides several methods for it&#8217;s editing:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#isEditing%28%29" target="_blank">JListView.isEditing();</a> // determines whether the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>is being edited.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#cancelEditing%28%29" target="_blank">JListView.cancelEditing();</a> // cancel current editing<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#stopEditing%28%29" target="_blank">JListView.stopEditing();</a> // stop the current editing and apply the editing value<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#startEditingAtIndex%28int%29" target="_blank">JListView.startEditingAtIndex();</a> // start the editing at the specified index<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getEditingIndex%28%29">JListview.getEditingInex();</a> // get the current editing object&#8217;s index</p>
</div>
<p>The <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/package-summary.html" target="_blank">com.zfqjava.swing.model</a> and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/package-summary.html" target="_blank">com.zfqjava.swing.cell</a></strong> package have the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/FileTableModel.html" target="_blank">FileTableModel</a> </strong>and FileProvider, it support the directory list and file icon directly, the following code can create a explorer like GUI:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JListView listView = new JListView();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setListData(new FileTableModel(new File(System.getProperty("user.home"))));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setCellRenderer(new FileCellRenderer());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setCellEditor(new FileCellEditor());</p>
</div>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component also support row sorting, the <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html" title="interface in javax.swing.table" target="_blank">TableModel</a> </strong>you provided for <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>only need implements the <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/ColumnSorter.html" target="_blank">ColumnSorter</a> interface, it can support the row sorting automatically, we want to improve this area after upgrade the JRE version to 1.6.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component provides several important client property:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.rowSelectionAllowed</a>&#8221; allow the full row can be selected<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.showVerticalLines</a>&#8221; shows the vertical lines in details view mode.<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.showHorizontalLines</a>&#8221; shows the horizontal lines in details view mode.<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.backgroundImage</a>&#8221; sets the background image for <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component.<br />
</p>
</div>
For details, you can view the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>JavaDoc API documentation.
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>also support the Drag and Drop, but in <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.1.0</a> and early version, implements this feature has trick and tips:<br />
</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // get JTable and JList<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicListViewUI ui = (BasicListViewUI)listView.getUI();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JTable table = ui.getTable();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JList list = ui.getList();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.setDragEnabled(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.setDragEnabled(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransferHandler th = new TransferHandler() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getSourceActions(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return COPY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Transferable createTransferable(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // just a test<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Object o = listView.getSelectedValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(o != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new StringSelection(o.toString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.setTransferHandler(th);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.setTransferHandler(th); </div>
<p>In the upcoming version <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.2.0</a>, we have improved this area, so in the new version, implements the drag and drop feature is very simple:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setDragEnabled(true);<br />
TransferHandler th = new TransferHandler() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getSourceActions(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return COPY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Transferable createTransferable(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // just a test<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Object o = listView.getSelectedValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(o != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new StringSelection(o.toString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView. setTransferHandler(th);</p>
</div>
<a href="http://www.zfqjava.com/rss.xml" target="_blank" title="Subscribe RSS - Developer Article"><br />
</a>
<p><a>If you want to implements the Windows explorer like feature in Java swing application, the <strong></strong></a><strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component meets your requirements exactly.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component
support the 5 different view modes: small icon, large icon, list,
thumbnails, details, all these view mode can change on the fly, the
methods &#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#setViewMode%28int%29" target="_blank">JListView.setViewMode</a>&#8221; can change the view mode of <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html">JListView</a> </strong>component.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component have the MVC design concept, a simple <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html" title="interface in javax.swing.table" target="_blank">TableModel</a> </strong>can be provided for it&#8217;s data, a simple <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/CellProvider.html" target="_blank"><em>CellProvider</em></a> </strong>such <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/IconProvider.html" target="_blank"><em>IconProvider</em></a> </strong>can be provided for it&#8217;s icon. Should write a <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a> </strong>subclass for its renderer and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellEditor.html" target="_blank">DefaultCellEditor</a> </strong>subclass for it&#8217;s editor. The article &#8220;<a href="http://www.zfqjava.com/article/Introduce-Cell-Renderer.html" target="_blank">Introduce Cell Renderer</a>&#8221; introduce why using the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a></strong>.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component use a <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ListSelectionModel.html" title="interface in javax.swing" target="_blank">ListSelectionModel</a> </strong>as
it&#8217;s selection model, you can change the selection model&#8217;s mode, it
support single selection, single interval selection, multiple interval
selection, you can use the following methods to get the selected values:<br />
</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> &nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getSelectedValue%28%29" target="_blank">JListView.getSelectedValue();</a> // get the lead selection value<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getSelectedValues%28%29" target="_blank">JListView.getSelectedValues();</a> // get all selected values
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component provides several methods for it&#8217;s editing:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#isEditing%28%29" target="_blank">JListView.isEditing();</a> // determines whether the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>is being edited.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#cancelEditing%28%29" target="_blank">JListView.cancelEditing();</a> // cancel current editing<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#stopEditing%28%29" target="_blank">JListView.stopEditing();</a> // stop the current editing and apply the editing value<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#startEditingAtIndex%28int%29" target="_blank">JListView.startEditingAtIndex();</a> // start the editing at the specified index<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html#getEditingIndex%28%29">JListview.getEditingInex();</a> // get the current editing object&#8217;s index</p>
</div>
<p>The <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/package-summary.html" target="_blank">com.zfqjava.swing.model</a> and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/package-summary.html" target="_blank">com.zfqjava.swing.cell</a></strong> package have the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/FileTableModel.html" target="_blank">FileTableModel</a> </strong>and FileProvider, it support the directory list and file icon directly, the following code can create a explorer like GUI:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JListView listView = new JListView();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setListData(new FileTableModel(new File(System.getProperty("user.home"))));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setCellRenderer(new FileCellRenderer());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setCellEditor(new FileCellEditor());</p>
</div>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component also support row sorting, the <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html" title="interface in javax.swing.table" target="_blank">TableModel</a> </strong>you provided for <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>only need implements the <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/model/ColumnSorter.html" target="_blank">ColumnSorter</a> interface, it can support the row sorting automatically, we want to improve this area after upgrade the JRE version to 1.6.</p>
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component provides several important client property:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.rowSelectionAllowed</a>&#8221; allow the full row can be selected<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.showVerticalLines</a>&#8221; shows the vertical lines in details view mode.<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.showHorizontalLines</a>&#8221; shows the horizontal lines in details view mode.<br />
&#8220;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView.backgroundImage</a>&#8221; sets the background image for <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component.<br />
</p>
</div>
For details, you can view the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>JavaDoc API documentation.
<p>The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>also support the Drag and Drop, but in <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.1.0</a> and early version, implements this feature has trick and tips:<br />
</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // get JTable and JList<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicListViewUI ui = (BasicListViewUI)listView.getUI();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JTable table = ui.getTable();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JList list = ui.getList();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.setDragEnabled(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.setDragEnabled(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransferHandler th = new TransferHandler() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getSourceActions(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return COPY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Transferable createTransferable(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // just a test<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Object o = listView.getSelectedValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(o != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new StringSelection(o.toString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.setTransferHandler(th);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.setTransferHandler(th); </div>
<p>In the upcoming version <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.2.0</a>, we have improved this area, so in the new version, implements the drag and drop feature is very simple:</p>
<div style="border: 1px solid rgb(153, 153, 153); margin: 8px 0pt; padding: 5px; background: rgb(204, 204, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView.setDragEnabled(true);<br />
TransferHandler th = new TransferHandler() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getSourceActions(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return COPY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Transferable createTransferable(JComponent c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // just a test<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Object o = listView.getSelectedValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(o != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new StringSelection(o.toString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView. setTransferHandler(th);</p>
</div>
<a href="http://www.zfqjava.com/rss.xml" target="_blank" title="Subscribe RSS - Developer Article"><br />
</a> <br />
<img src ="http://www.blogjava.net/fralepg/aggbug/256564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-25 10:56 <a href="http://www.blogjava.net/fralepg/archive/2009/02/25/256564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍JComponentPack产品中的单元格染色器和编辑器</title><link>http://www.blogjava.net/fralepg/archive/2009/02/24/256390.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Tue, 24 Feb 2009 01:46:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/24/256390.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256390.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/24/256390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256390.html</trackback:ping><description><![CDATA[<p><strong>Introduce the cell renderer and editor in <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack 1.1.0</a></strong></p>
<p><br />
</p>
<p>1.<strong> <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a> </strong>and it&#8217;s subclass such as <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DateCellRenderer.html" target="_blank">DateCellRenderer</a></strong>, <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/NumberCellRenderer.html" target="_blank">NumberCellRenderer</a> </strong>is used by <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html" target="_blank">JDataGrid</a> </strong>or <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html" title="class in javax.swing" target="_blank">JTable</a> </strong>component, if you want to write a  cell renderer for <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html" target="_blank">JDataGrid</a></strong>,  you should extend <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a></strong>.The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html" target="_blank">ObjectCellEditor</a> </strong>and it&#8217;s subclass is used by <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html" target="_blank">JDataGrid</a> </strong>or <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html" title="class in javax.swing" target="_blank">JTable</a> </strong>component.</p>
<p>You can view these cell renderers  in the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/package-summary.html" target="_blank">com.zfqjava.swing.cell</a></strong> package before reinvent the wheel.<br />
&nbsp;The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a> </strong>have the following subclass in <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/package-summary.html" target="_blank">com.zfqjava.swing.cell</a></strong> package:<br />
</p>
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/BigDecimalCellRenderer.html" target="_blank">BigDecimalCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/BigIntegerCellRenderer.html" target="_blank">BigIntegerCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/BooleanCellRenderer.html" target="_blank">BooleanCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DateCellRenderer.html" target="_blank">DateCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/NumberCellRenderer.html" target="_blank">NumberCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/StreamCellRenderer.html" target="_blank">StreamCellRenderer</a>, <br />
<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/URLCellRenderer.html" target="_blank">URLCellRenderer</a>&nbsp;&nbsp;&nbsp; <br />
The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a> </strong>and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html" target="_blank">ObjectCellEditor</a> </strong>and it&#8217;s subclass are managed by CellManager object, <br />
The <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html" target="_blank">JDataGrid</a> </strong>use
the CellManger object to mange all it&#8217;s cell renderer and editor, so
you can add the renderer and editor for CellManager, you can also
remove or replace the cell renderer or editor in CellManger.
<p>&nbsp;Write a <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a> </strong>subclass is very simple, generally you only need override it&#8217;s &#8220;<strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html#setValue%28java.lang.Object%29" target="_blank">setValue</a></strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" target="_blank">java.lang.Object</a>&nbsp;value)&#8221;method.</p>
<p>&nbsp;Writer a <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html" target="_blank">ObjectCellEditor</a> </strong>subclass, you can override it&#8217;s three methods:<br />
</p>
<table style="border: 1px dotted #7f7c75; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" width="">
    <tbody>
        <tr>
            <td width="180">
            <p align="right">protected    &nbsp;void &nbsp;</p>
            </td>
            <td width="auto">
            <p><strong>&nbsp;<a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#commitEdit%28%29">commitEdit</a></strong>()</p>
            </td>
        </tr>
        <tr>
            <td width="163">
            <p align="right">protected &nbsp;<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang" target="_blank">Object</a> &nbsp;</p>
            </td>
            <td width="456">
            <p><strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#getValue%28%29">getValue</a></strong>() </p>
            </td>
        </tr>
        <tr>
            <td width="163">
            <p align="right">protected    &nbsp;void&nbsp; </p>
            </td>
            <td width="456">
            <p><strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#setValue%28java.lang.Object%29">setValue</a></strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</a>&nbsp;value)</p>
            </td>
        </tr>
    </tbody>
</table>
<p>If the editing have illegal value, you should override the &#8220;<strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#commitEdit%28%29">commitEdit</a></strong>()&#8221; method and throws a <strong><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/text/ParseException.html" title="class in java.text">ParseException</a></strong>.<br />
You can use the method <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#setValue%28java.lang.Object%29">setValue</a></strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</a>&nbsp;value) to save the  edited value, and <br />
Override  the method <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html#getValue%28%29">getValue</a></strong>()  to return the new value.</p>
<p>You can use the protected field &#8220;label&#8221; to set the text, alignment,  font, etc.</p>
<p>2.<strong> <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a></strong> and  it&#8217;s subclass such as <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/FileCellRenderer.html" target="_blank">FileCellRenderer</a> </strong>is used by <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component, <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellEditor.html" target="_blank">DefaultCellEditor</a></strong> and  it&#8217;s subclass such as <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/FileCellEditor.html" target="_blank">FileCellEditor</a> </strong>is used by <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component, it works with the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component to provide the different view modes: small icon, large icon,  list, thumbnails, details, so if you want to use <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JListView.html" target="_blank">JListView</a> </strong>component, you can extend the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a></strong>.</p>
<p>Write the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html" target="_blank">DefaultCellRenderer</a></strong> and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellEditor.html" target="_blank">DefaultCellEditor</a></strong> is  same as the <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellRenderer.html" target="_blank">ObjectCellRenderer</a> </strong>and <strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/ObjectCellEditor.html" target="_blank">ObjectCellEditor</a></strong>,  the different is you should use the protected field &#8220;<strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html#iconLabel" target="_blank">iconLabel</a></strong>&#8221; and &#8220;<strong><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/cell/DefaultCellRenderer.html#textLabel" target="_blank">textLabel</a></strong>&#8221; to set the icon and text.</p>
<img src ="http://www.blogjava.net/fralepg/aggbug/256390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-24 09:46 <a href="http://www.blogjava.net/fralepg/archive/2009/02/24/256390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JComponentPack产品中的DefaultFileFilter</title><link>http://www.blogjava.net/fralepg/archive/2009/02/23/256270.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Mon, 23 Feb 2009 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/23/256270.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256270.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/23/256270.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256270.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256270.html</trackback:ping><description><![CDATA[<p><strong>How to use <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/DefaultFileFilter.html" target="_blank">DefaultFileFilter</a> in <a href="http://www.zfqjava.com/docs/api/" target="_blank">JComponentPack</a></strong></p>
<p><br />
</p>
<p><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/DefaultFileFilter.html" target="_blank">DefaultFileFilter</a> provide a default file filter.</p>
<p>It also provides some useful methods, for example: <br />
</p>
<div style="border: 1px solid #999999; margin: 8px 0pt; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><strong>getExtensionNames</strong>() <br />
Return all extension of this file filter as an array. <br />
<strong>getExtensionName </strong>()<br />
Return the extension of the parameter.<br />
It could accept 3 kinds of parameter, a File, a String, an URL.<br />
<strong>getNameWithoutExtension</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;name) <br />
Returns the file name without extension, for example the file "readme.txt" will return "readme", include the absolute path.<br />
<strong>getPreferredExtensionName</strong>()&nbsp; <br />
Returns the preferred extension of this file filter, actually is the
first extension of your extensions. It equal this operation <strong>getExtensionNames</strong>()[0].</div>
<p>It inherits from <a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/filechooser/FileFilter.html" title="class or interface in javax.swing.filechooser" target="_blank">FileFilter</a>, have two Constructors to create a instance of the FileFilter.</p>
<p><strong>DefaultFileFilter</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;ext, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;description)<br />
The first parameter is extension, the second parameter is description of extension.<br />
<strong>DefaultFileFilter</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>[]&nbsp;ext, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;description)<br />
The first parameter are extensions, the second parameter is description of extensions.</p>
<strong><a title="奇新Java控件" target="_blank" href="http://www.zfqjava.com.cn/"></a></strong><br />
<img src ="http://www.blogjava.net/fralepg/aggbug/256270.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-23 16:51 <a href="http://www.blogjava.net/fralepg/archive/2009/02/23/256270.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍JComponentPack产品中的JBasicChart图表控件</title><link>http://www.blogjava.net/fralepg/archive/2009/02/21/256271.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Sat, 21 Feb 2009 10:18:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/21/256271.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256271.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/21/256271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256271.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256271.html</trackback:ping><description><![CDATA[<p><strong>Use JBasicChart in <a href="http://www.zfqjava.com/docs/api/" target="_blank">JComponentPack</a></strong></p>
<p><br />
</p>
<p>JBasicChart provides a basic chart component.<br />
It could draw 3 styles graph, for example: PIE, LINE, BAR.</p>
<div style="border: 1px solid #999999; margin: 8px 0pt; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<p>The following code demonstrates how to use JBasicChart.<br />
JBasicChart basicChart = new JBasicChart();<br />
basicChart.setModel(createBasicChartModel());<br />
basicChart.setChartType(ChartType.BAR);</p>
<p>private BasicChartModel createBasicChartModel_() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double[] yaxis = {1.000, 3.000, 2, 4, 0, 3.000, 0.000, 0.000, -5.000, 4.000, 3.000};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int[] xaxis = {200701, 200612, 200611, 200610, 200609, 200608, 200607, 200606,200605, 200604, 200603};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultBasicChartModel model = new DefaultBasicChartModel();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; model.addSeries("a", yaxis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; xaxis.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; model.setCategoryName("" + xaxis[i], i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return model;<br />
}</p>
</div>
<p>It is easy to use JBasicChart, you could use method setModel(model)
to change the data which displayed on the chart, and also you could use
method setChartType(type) to change the style of the chart, the
parameter type is one of the three
values(ChartType.BAR、ChartType.LINE、ChartType.PIE).</p>
<p>To change the data of the chart, you should learn more about DefaultBasicChartModel. <br />
<strong>addSeries</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;name,
double[]&nbsp;values),this method add a series values which will be y-axis
value, each value have a category name, use the method <strong>setCategoryName</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;name, int&nbsp;categoryIndex) to set it.<br />
<strong>addSeries</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang" target="_blank">String</a>&nbsp;name, double[]&nbsp;values, int index),when you saw this method, you should know this model could add multi-series values to it.<br />
</p>
<div style="border: 1px solid #999999; margin: 8px 0pt; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">It also have some other methods which are easy to use, for example:<br />
<strong>getCategoryCount</strong>()<br />
<strong>getCategoryName</strong>(int&nbsp;categoryIndex)<br />
<strong>getSeriesCount</strong>()<br />
<strong>getSeriesName</strong>(int&nbsp;seriesIndex)<br />
<strong>removeSeries</strong>(int&nbsp;index)<br />
etc. </div>
<p>For more information, please see DefaultBasicChartModel and JBasicChart.</p>
<img src ="http://www.blogjava.net/fralepg/aggbug/256271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-21 18:18 <a href="http://www.blogjava.net/fralepg/archive/2009/02/21/256271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JComponentPack产品中的JWizardPane向导框架</title><link>http://www.blogjava.net/fralepg/archive/2009/02/20/256272.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Fri, 20 Feb 2009 10:20:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/20/256272.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256272.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/20/256272.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256272.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256272.html</trackback:ping><description><![CDATA[
<p><strong>Use <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JWizardPane.html">JWizardPane </a>in <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack</a></strong></p>
<p><br />
</p>
<p><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JWizardPane.html">JWizardPane</a> is a Java wizard component in <a href="http://www.zfqjava.com/docs-JComponentPack.html" target="_blank">JComponentPack</a>.</p>
<p><a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JWizardPane.html">JWizardPane</a> usage:</p>
Sample code<br />
<div style="border: 1px solid #999999; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> JWizardPane wizardPane = new JWizardPane();<br />
//wizardPane.setLogoIcon(logoIcon);<br />
//wizardPane.setLogoText(logoText);<br />
//wizardPane.getControlButton(JWizardPane.FINISH_CONTROL).setVisible(false);<br />
//wizardPane.getControlButton(JWizardPane.HELP_CONTROL).setVisible(false);<br />
JPanel firstPage = new JPanel(); // firstPage: the page you want to show first.<br />
JPanel secondPage = new JPanel();<br />
JPanel thirdPage = new JPanel();<br />
JPanel endPage = new JPanel();<br />
wizardPane.addPage(firstPage);<br />
wizardPane.addPage(secondPage);<br />
wizardPane.addPage(thirdPage);<br />
wizardPane.addPage(endPage);<br />
wizardPane<strong>.</strong>showFrame(&#8220;title&#8221;); </div>
<p>If you want to do some operations on one page, you could implement
WizardPage interface, its methods will be called automatic when click
the Next and Finish button.<br />
The WizardPage interface have two methods:<br />
</p>
<div style="border: 1px solid #999999; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> beforeAction(JWizardPane wizardPane, WizardAction arg0)<br />
afterAction(JWizardPane wizardPane, WizardAction arg0)<br />
</div>
Here is an example to implement beforeAction method.<br />
<div style="border: 1px solid #999999; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> @Override<br />
public void beforeAction(JWizardPane wizardPane, WizardAction arg0) throws ActionVetoException <br />
{<br />
&nbsp;&nbsp;&nbsp; if (arg0 == WizardAction.NEXT || arg0 == WizardAction.FINISH) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //write the code you want to do.<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
</div>
Also you could implement other operations use WizardListener, for more
information, please see WizardListener in the JComponentPack.
<p>You could obtain the Button in the wizard panel use the method
getControlButton(int buttonType), parameter must be the following value.<br />
</p>
<div style="border: 1px solid #999999; padding: 5px; background: #cccccc none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> JWizardPane.BACK_CONTROL,&nbsp; for back button<br />
JWizardPane.NEXT_CONTROL,&nbsp; for next button<br />
JWizardPane.FINISH_CONTROL, &nbsp;for finish button<br />
JWizardPane.HELP_CONTROL,&nbsp;&nbsp; for help button<br />
JWizardPane.CANCEL_CONTROL, &nbsp;for cancel button. </div>
<p>It have two way to show.one is showDialog,the other is showFrame.<br />
<strong>showDialog</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html" title="class or interface in java.awt">Component</a>&nbsp;parent)<br />
Pops up a dialog contains the JWizardPane and parented to parent with the dialog having a default title.<br />
<strong>showDialog</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html" title="class or interface in java.awt">Component</a>&nbsp;parent, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;title)<br />
Pops up a dialog contains the JWizardPane and parented to parent with the dialog use the special title.<br />
<strong>showFrame</strong>()<br />
Pops up a frame contains the JWizardPane with the frame having a default title<br />
<strong>showFrame</strong>(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;title)<br />
Pops up a frame contains the JWizardPane and with the frame use the special title.<br />
If you want to pause the wizard page at current page, just throw a ActionVetoException is ok.<br />
throw new ActionVetoException();<br />
It also provide other functions, For more information, please see <a href="http://www.zfqjava.com/docs/api/com/zfqjava/swing/JWizardPane.html">JWizardPane </a>.</p>
<br />


<img src ="http://www.blogjava.net/fralepg/aggbug/256272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-20 18:20 <a href="http://www.blogjava.net/fralepg/archive/2009/02/20/256272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JComponentPack产品NetBeans IDE插件免费下载</title><link>http://www.blogjava.net/fralepg/archive/2009/02/19/256273.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Thu, 19 Feb 2009 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/19/256273.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256273.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/19/256273.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256273.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256273.html</trackback:ping><description><![CDATA[JComponentPack Plug-in for NetBeans IDE 6.5<br />
<br />
&nbsp;&nbsp;Installation <br />
&nbsp; &nbsp; 1. Download the JComponentPack Product and JComponentPack Plug-in for NetBeans IDE from:&nbsp;&nbsp;<br />
&nbsp; &nbsp;&nbsp; &nbsp; <strong>JComponentPack Product Evaluation Version:</strong> <a href="http://www.zfqjava.com/download/componentpack-1_5_0-eval.zip" target="_blank">componentpack-1_5_0-eval.zip</a> (Size: 5.10 MB)<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<strong>JComponentPack Plug-in for NetBeans IDE: </strong><a href="http://www.zfqjava.com/download/com-zfqjava-ide-netbeans.nbm" target="_blank">com-zfqjava-ide-netbeans.nbm</a> (Size: 1.84 MB)<br />
<br />
&nbsp; &nbsp; 2. Click &#8220;Tools -&gt; Plugins&#8221; to open the Plug-in&nbsp;&nbsp;Manager, then at &#8220;Downloaded&#8221; Tab add the plugin:<br />
&nbsp;&nbsp;<img src="http://www.zfqjava.com/images/plugins/install.PNG" alt="" border="0" height="267" width="410" /><br />
<br />
&nbsp; &nbsp; 3. Select the Plug-in &#8220;JComponentPack&#8221; and&nbsp;&nbsp;then click &#8220;Install&#8221;.<br />
&nbsp;&nbsp;Introduction<br />
&nbsp; &nbsp;&nbsp;&nbsp;After Installation, restart the NetBeans&nbsp;&nbsp;IDE, you will find the following changes:<br />
&nbsp; &nbsp; 1. At the Toolbar, you will find the Plug-in&nbsp;&nbsp;button: <br />
&nbsp;&nbsp;<img src="http://www.zfqjava.com/images/plugins/toolbar.PNG" alt="" border="0" /><br />
<br />
&nbsp; &nbsp;&nbsp;&nbsp;2. At the Library Manager, the Library named&nbsp;&nbsp;&#8220;JComponentPack&#8221; has been added:<br />
&nbsp;&nbsp;<img src="http://www.zfqjava.com/images/plugins/library.PNG" alt="" border="0" /><br />
&nbsp; &nbsp;3. At the Component Palette window, the &#8220;JComponentPack&#8221;&nbsp;&nbsp;category has been added:<br />
&nbsp; &nbsp;&nbsp; &nbsp;<img src="http://www.zfqjava.com/images/plugins/palette.PNG" alt="" border="0" /><br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;You can drag the&nbsp;&nbsp;component at the Palette to your form:<br />
&nbsp;&nbsp;<img src="http://www.zfqjava.com/images/plugins/form.PNG" alt="" border="0" />&nbsp; &nbsp;&nbsp; &nbsp;<br />
<br />
&nbsp;&nbsp;Main Window<br />
&nbsp; &nbsp;&nbsp;&nbsp;Click the new added button on the Toolbar,&nbsp;&nbsp;the following window will open:<br />
&nbsp; &nbsp;&nbsp;&nbsp;<img src="http://www.zfqjava.com/images/plugins/plugins.PNG" alt="" border="0" />&nbsp; &nbsp;&nbsp; &nbsp; <br />
You can configure the latest JComponentPack&nbsp;&nbsp;version, just choose the JComponentPack product directory.<br />
&nbsp; &nbsp;<br />
Usage<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<strong>License&nbsp;&nbsp;Tool</strong><br />
&nbsp; &nbsp;&nbsp;&nbsp;Request Evaluation License: <br />
You can request a evaluation license, a free evaluation licensewillsend
to your email box shortly, please input your real emailaddress toavoid
cannot receive the license, <a href="http://www.zfqjava.com/privacy.html" target="_blank">we value your&nbsp;&nbsp;privacy</a>.<br />
&nbsp;&nbsp;<strong>Input&nbsp;&nbsp;License:</strong><br />
&nbsp; &nbsp;&nbsp; &nbsp; After&nbsp;&nbsp;you receive the license, you can input the license data here.<br />
&nbsp;&nbsp;<strong>Generate&nbsp;&nbsp;Java Cod</strong>e:<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;Ifyou want to use our product on your project, you need
configurethelicense correctly, this tool will help you generate a Java
String.<br />
&nbsp;&nbsp;Then&nbsp;&nbsp;invoke the following code:&nbsp; &nbsp; // the code means the above license data<br />
&nbsp;&nbsp;LicenseManager.getInstance().addLicenseData(code);<br />
&nbsp; &nbsp;<br />
&nbsp;&nbsp;<strong>Run&nbsp;&nbsp;JComponentPack Demo:</strong><br />
&nbsp;&nbsp;<br />
You can run the several JComponentPack Demo at NetBeans IDEdirectly,you
need configure the JComponentPack product home at first.Run
JDataGridBean: This will launch the&nbsp;&nbsp;JDataGridBean application.<br />
&nbsp; &nbsp; Run DataGridDemo: This will launch the many&nbsp;&nbsp;JDataGrid Spreadsheet Edition demos.<br />
&nbsp; &nbsp; Run JDataTableBean: This will launch the&nbsp;&nbsp;JDataTableBean application.<br />
Run ComponentSetDemo: This will launch the individual component demo,such as JListView, JFontChooser, JCalendar, JWizardPane.<br />
<br />
&nbsp;&nbsp;<strong>NetBeans&nbsp;&nbsp;IDE Integration:</strong><br />
&nbsp; &nbsp;<br />
&nbsp;&nbsp;Add as Class Library: This will adds the&nbsp;&nbsp;current JComponentPack product to the Class Library.<br />
&nbsp;&nbsp;<strong>Resources:</strong>&nbsp; &nbsp;<br />
&nbsp;&nbsp;There are several documents to help you&nbsp;&nbsp;learning and using the JComponentPack product.<br />
&nbsp; &nbsp;&nbsp; &nbsp; <br />
Tips<br />
&nbsp; &nbsp; If you configure the JComponentPack product home directory to
thelicensed binary version, you will view the JavaDoc API in your
codeeditor of NetBeans IDE directly, configure it to the licensed
sourcecode version, you will view the source code and JavaDoc API in
yourcode editor directly. After you configure the JComponentPack
producthome directory, you should run "Add as Class Library" again to
makeyour configuration works. <br />
&nbsp; &nbsp;&nbsp; &nbsp;How to get the JComponentPack product binary version or source version?<br />
<a href="http://www.zfqjava.com/buynow.html" target="_blank"><strong>Get it Now!</strong></a>&nbsp; &nbsp;<br />
Configure it and the JComponentPack Plug-in for NetBeans IDE
willaccelerate your project development process, save time,
reducecosts for your team.<br />
<br />
<strong><a href="http://www.zfqjava.com.cn/" target="_blank"></a></strong><br />
&nbsp;
<img src ="http://www.blogjava.net/fralepg/aggbug/256273.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-19 18:07 <a href="http://www.blogjava.net/fralepg/archive/2009/02/19/256273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JComponentPack产品中的JPrintPreview和PrintFactory打印和打印预览控件</title><link>http://www.blogjava.net/fralepg/archive/2009/02/18/256274.html</link><dc:creator>fralepg</dc:creator><author>fralepg</author><pubDate>Wed, 18 Feb 2009 10:24:00 GMT</pubDate><guid>http://www.blogjava.net/fralepg/archive/2009/02/18/256274.html</guid><wfw:comment>http://www.blogjava.net/fralepg/comments/256274.html</wfw:comment><comments>http://www.blogjava.net/fralepg/archive/2009/02/18/256274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fralepg/comments/commentRss/256274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fralepg/services/trackbacks/256274.html</trackback:ping><description><![CDATA[<br /><br />Use JPrintPreview and PrintFactory in JComponentPack<br /><br />JPrintPreview is a Java Print Preview component in JComponentPack.<br />PrintFactory is a utility class in com.zfqjava.swing package to generate printable in JComponentPack.<br />PrintFactory usage.
createPrintable(Component comp, Map map)<br />
createPrintable(Image image, Map map)<br />
It need two parameters, the first is a instance of Image or a instance
of Component, the second parameter is a instance of Map, t<img src ="http://blog.csdn.net/zfqjava/aggbug/3904302.aspx" width = "1" height = "1" /><img src ="http://www.blogjava.net/fralepg/aggbug/256274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fralepg/" target="_blank">fralepg</a> 2009-02-18 18:24 <a href="http://www.blogjava.net/fralepg/archive/2009/02/18/256274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>