﻿<?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-Ryan's Java world!-随笔分类-Java</title><link>http://www.blogjava.net/51AOP/category/10364.html</link><description>something about Java and opensource!</description><language>zh-cn</language><lastBuildDate>Fri, 11 Jun 2010 10:51:56 GMT</lastBuildDate><pubDate>Fri, 11 Jun 2010 10:51:56 GMT</pubDate><ttl>60</ttl><item><title>I'm Back !</title><link>http://www.blogjava.net/51AOP/archive/2010/05/31/322378.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Mon, 31 May 2010 10:42:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2010/05/31/322378.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/322378.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2010/05/31/322378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/322378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/322378.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是当前博客比较流行的时候在大学使用的博客账号, 毕业后就一直没使用过了, 最近整理邮箱中的资料, 居然又找到这里了, blogjava.net在国内还是一个很好的Java技术文章分享平台, 以后有关Java的技术文章也会在这里更新!&nbsp;&nbsp;<a href='http://www.blogjava.net/51AOP/archive/2010/05/31/322378.html'>阅读全文</a><img src ="http://www.blogjava.net/51AOP/aggbug/322378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2010-05-31 18:42 <a href="http://www.blogjava.net/51AOP/archive/2010/05/31/322378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDK 6 探秘之二: 自定义国际化(I18N)服务</title><link>http://www.blogjava.net/51AOP/archive/2007/04/20/112168.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Fri, 20 Apr 2007 04:50:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2007/04/20/112168.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/112168.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2007/04/20/112168.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/112168.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/112168.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在JDK 6 中, 利用其提供的service provider interfaces (SPI) 可以做到很好的国际化处理, 以前你只能使用标准的时区和各种符号, 如果你所在的地区不幸不再这些标志时区中, 或者货币符号也不在其中, 那么你就无能为力了, 现在有了JDK 6 ,我们可以自定义这些服务的提供者了.&nbsp;&nbsp;<a href='http://www.blogjava.net/51AOP/archive/2007/04/20/112168.html'>阅读全文</a><img src ="http://www.blogjava.net/51AOP/aggbug/112168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2007-04-20 12:50 <a href="http://www.blogjava.net/51AOP/archive/2007/04/20/112168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>about java keyword volatile</title><link>http://www.blogjava.net/51AOP/archive/2006/08/31/66908.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Thu, 31 Aug 2006 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/08/31/66908.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/66908.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/08/31/66908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/66908.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/66908.html</trackback:ping><description><![CDATA[<p>在java 线程 3rd中3.2讲到了一个少用的关键字 volatile.</p>
		<p>However, Java provides a more elegant solution: the <tt><font size="4"><strong>volatile</strong></font></tt> keyword. If a variable is <a name="jthreads3-CHP-3-ITERM-1501"></a>marked as <tt><strong>volatile</strong></tt>, every time the variable is used it must be read from main memory. Similarly, every time the variable is written, the value must be stored in main memory. Since these operations are atomic, we can avoid the race condition in our example by marking our <tt>done</tt> flag as <tt><strong>volatile</strong></tt>.</p>
		<p> </p>
		<p>在tij中也有讲述</p>
		<p> Thinking   in   java   的   13.7   范例   CanStop   里面有代码   <br />  //Must   be   <b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile</b>:   <br />  private   <b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile</b>   boolean   stop   =   false;   <br />  这里boolean类型应该就已经是原子操作了，不需要再保证了。   <br />    <br />  书里说   stop标志必须是<b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile</b>的，以便run()方法肯定看到他（否则的话，这个值可能本地缓存)   <br />    <br />  我猜想   <b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile</b>表示这个值可能被别的线程改变，所以被标志为<b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile</b>的变量，每次都是从存储区中读取变量对应的值，而不是在该线程中本地缓存的值。因为本地缓存的值不能及时反映其他线程对这个变量的影响。   <br />  <br /><br /><br />在线程中 该关键字还是会用到的..</p><img src ="http://www.blogjava.net/51AOP/aggbug/66908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-08-31 17:17 <a href="http://www.blogjava.net/51AOP/archive/2006/08/31/66908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最近想研究一下DWR 收集一些从入门到精通的系列资料</title><link>http://www.blogjava.net/51AOP/archive/2006/07/13/58000.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Thu, 13 Jul 2006 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/07/13/58000.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/58000.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/07/13/58000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/58000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/58000.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/51AOP/archive/2006/07/13/58000.html'>阅读全文</a><img src ="http://www.blogjava.net/51AOP/aggbug/58000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-07-13 15:55 <a href="http://www.blogjava.net/51AOP/archive/2006/07/13/58000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员自创的一首歌：“Java EE 5”  </title><link>http://www.blogjava.net/51AOP/archive/2006/07/01/56063.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Fri, 30 Jun 2006 21:15:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/07/01/56063.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/56063.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/07/01/56063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/56063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/56063.html</trackback:ping><description><![CDATA[<p>Sun公司一名员工自己创作的歌，关于Java EE 5，很有意思的一首歌，程序员业余生活也可以这么丰富！</p>
		<p>地址：<a href="http://tap.javalobby.org/javaee5.mp3">http://tap.javalobby.org/javaee5.mp3</a></p>
		<p>歌词：<br />Ladies and gentlemen, this is Java EE 5! </p>
		<p>One, two, three, four, five<br />There's a technology I use day and night<br />For my application with a web frontend<br />They told me to use .Net<br />But I really don´t wanna</p>
		<p>So many bugs I fixed last week.<br />My code is neat and talk is a cheap<br />I like Glassfish, JSF, persistence API<br />And as I continue you know they´re gettin´ sweeter</p>
		<p>So what can I do I really beg you my Lord<br />To me codin' it´s just like a sport<br />All the bad code from the past, let me dump it<br />Please set in the trumpet</p>
		<p>A little bit of injection in my life<br />A little bit of persistence by my side<br />A little bit of NetBeans is all I need<br />A little bit of EJB's what I see<br />A little bit of standards in the sun<br />A little bit of XML all night long<br />A little bit web services here I am<br />A little bit of code makes me real man</p>
		<p>This is Java EE 5! </p>
		<p>Jump up and down and move your code around<br />Shake your head to the sound bury bad code under ground<br />Move one step left and one step right<br />One to the front and one to the side<br />Refactor it once and refactor it twice<br />If it looks like this you're doin´ it right</p>
		<p>A little bit of injection in my life<br />A little bit of persistence by my side<br />A little bit of NetBeans is all I need<br />A little bit of EJB's is what I see<br />A little bit of standards in the sun<br />A little bit of XML all night long<br />A little bit web services here I am<br />A little bit of code makes me real man</p>
		<p>This is Java EE 5! <br /><br />还不错哦. <br /><br />from csdn</p><img src ="http://www.blogjava.net/51AOP/aggbug/56063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-07-01 05:15 <a href="http://www.blogjava.net/51AOP/archive/2006/07/01/56063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最新消息 ,开源嵌入式数据库 Derby(JavaDB) 绑定在JDK 1.6中.</title><link>http://www.blogjava.net/51AOP/archive/2006/06/18/53616.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Sun, 18 Jun 2006 10:48:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/06/18/53616.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/53616.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/06/18/53616.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/53616.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/53616.html</trackback:ping><description><![CDATA[<p>
				<b>
						<br />如下:<br /><br /><br />Source:</b>
				<a href="http://weblogs.java.net/blog/forsini/">Francois Orsini's Blog</a>
				<br />
				<b>Story Link:</b>
				<a href="http://weblogs.java.net/blog/forsini/archive/2006/06/java_db_is_now.html">http://weblogs.java.net/blog/forsini/archive/2006/06/java_db_is_now.html</a>
		</p>
		<p>Francois Orsini has announced that <a href="http://db.apache.org/derby/index.html">Apache Derby</a> has become <a href="http://weblogs.java.net/blog/forsini/archive/2006/06/java_db_is_now.html">bundled with the latest 1.6 JDK</a>. "...yes it has become a reality! - It is a very exciting event indeed to have an Open Source Java Database System bundled into Sun's *latest* 1.6 JDK (Mustang build 88 to be more precised), and at no cost." <br /><br /><br /><br />相关连接:<br /><br /><a id="viewpost1_TitleUrl" href="/51AOP/archive/2006/04/13/40975.html"><font color="#56662d">学习使用Java DataBase (Derby) -- 嵌入式数据库 </font></a><br /><br /><a id="viewpost1_TitleUrl" href="/51AOP/archive/2006/04/14/41108.html"><font color="#56662d">在derby(Java DB) 中操作 clob 和 blob </font></a><br /><br /><a id="viewpost1_TitleUrl" href="/51AOP/archive/2006/04/17/41509.html"><font color="#56662d">关于关闭Java DB(Derby)时抛出异常的问题</font></a></p><img src ="http://www.blogjava.net/51AOP/aggbug/53616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-06-18 18:48 <a href="http://www.blogjava.net/51AOP/archive/2006/06/18/53616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用NSIS(Nullsoft Scriptable Installation System)安装制作软件</title><link>http://www.blogjava.net/51AOP/archive/2006/06/13/52433.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 13 Jun 2006 05:02:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/06/13/52433.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/52433.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/06/13/52433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/52433.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/52433.html</trackback:ping><description><![CDATA[<strong>使用NSIS(Nullsoft Scriptable Installation System)安装制作软件<br /></strong>
		<span class="tpc_content">
				<br />
				<br />刚才在看 程序员修炼三步曲: 第三步 项目自动化之道 --- How to build, deploy, and monitor java applications. 一书, 看到如何制作安装程序. 大家都应该知道, java程序可以直接打包为jar文件,可以直接执行,所以一般不用制作安装程序的, 不过为了给win用户一个良好的感觉,制作一个安装程序还是不错的, 看到书上介绍 使用Nsis来制作, 要写教本文件,还好有工具可以使用,感觉不是很难, 用百度搜了一个教程, 呵呵 原来是很简单的, 就照着做了一个刚刚写完的 AES高级加密标准 的 java版实现的安装程序. 呵呵 感觉很专业级哦. 可以下载可执行文件看看. <a href="http://www.hexiao.cn/Aes_java_Setup.rar" target="_blank">http://www.hexiao.cn/Aes_java_Setup.rar</a><br /><br />netboy写的 nsis的教程 <a href="http://www.hexiao.cn/boblog/p/nsicToturialBasic.php" target="_blank">http://www.hexiao.cn/boblog/p/nsicToturialBasic.php</a><br /></span><img src ="http://www.blogjava.net/51AOP/aggbug/52433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-06-13 13:02 <a href="http://www.blogjava.net/51AOP/archive/2006/06/13/52433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Breezy简介 -- 快速开发Swing程序!</title><link>http://www.blogjava.net/51AOP/archive/2006/06/04/50352.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Sun, 04 Jun 2006 14:33:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/06/04/50352.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/50352.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/06/04/50352.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/50352.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/50352.html</trackback:ping><description><![CDATA[<p>
				<strong>Breezy简介 -- 快速开发Swing程序!<br /></strong>
				<span class="tpc_content">
						<br />
						<br />Breezy: <br />sf 项目主页: <a href="http://sourceforge.net/projects/breezy/" target="_blank">http://sourceforge.net/projects/breezy/</a><br /><br />下载: <a href="http://sourceforge.net/project/showfiles.php?group_id=158540&amp;package_id=177653&amp;release_id=412125" target="_blank">http://sourceforge.net/project/showfiles.php?group_id=158540&amp;package_id=177653&amp;release_id=412125</a></span>
		</p>
		<p>
				<span class="tpc_content">用户讨论区: <a href="http://www.hexiao.cn/bbs/thread.php?fid=9">http://www.hexiao.cn/bbs/thread.php?fid=9</a><br /><br />大家都知道开发Swing程序有三大难点:<br />布局设置,事件处理,和数据绑定. 使用netbean中的新的布局管理器已经解决了第一个问题, 那么后面两个呢?<br /><br />Breezy 就是用来简化后面两个问题而推出的.<br />下面我们先来看看一个简单的例子:<br /><br />package test;<br /><br />import java.awt.BorderLayout;<br />import java.awt.event.ActionEvent;<br /><br />import javax.swing.JButton;<br />import javax.swing.JFrame;<br /><br />import net.sf.breezy.event.EventInstaller;<br />import net.sf.breezy.event.annotations.ActionPerformed;<br />import net.sf.breezy.event.annotations.DefAction;<br /><br />@SuppressWarnings("serial")<br />public class TestBreezy extends JFrame {<br />     <br />     private JButton button = new JButton("Test Breezy!");<br />     <br />     public TestBreezy() {<br />           this.setLayout(new BorderLayout());<br />           this.add(button,BorderLayout.CENTER);<br />           <br />           // 用来处理所有的Breezy的Annotations<br />                    EventInstaller.processEventAnnotation(this);<br />           <br />           this.setSize(400, 300);<br />           this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />           <br />           EventInstaller.setAction(button, "action");<br />     }<br />     <br />  // button的事件响应方法<br />     @ActionPerformed("button")<br />     public void myButtonAction() {<br />          System.out.println("God, this is terrific!");//设置另外一个事件<br />     }<br />     <br />// 使用id注册另外一个事件响应方法<br />     @DefAction(id="action", name="Button")<br />     void action(ActionEvent e) {<br />           System.out.println(e + ":" + e);<br />     }<br /><br />     /**<br />      * @param args<br />      */<br />     public static void main(String[] args) {<br />           // TODO Auto-generated method stub<br />           JFrame frame = new TestBreezy();<br />           frame.setVisible(true);<br />     }<br /><br />}<br /><br />怎么样, 看起来不错吧.<br /><br />现在Breezy几乎支持所有的Swing EventListeners. 详细情况请查看类net.sf.breezy.event.annotations.* <br /><br />当然了, 作为一个优秀的框架,还要有可扩展性,在Breezy中开发者还可以自定义自己的事件响应Annotation 来实现自己的功能. 详细情况请查看API.<br /><br />数据绑定问题主要 就是 JTable 和JTree的问题:<br />使用Breezy来处理该问题,有点类似于Hibernate中的xml映射数据库属性字段差不多. 可以很方便的映射. <br />请看下面的例子: 和Breezy文档:<br /><br />package test;<br /><br />import java.util.Date;<br /><br />public class Name {<br />     private String name = "Starwhisperer";<br /><br />     private Date time = new Date();<br /><br />     public String getName() {<br />           return name;<br />     }<br /><br />     public void setName(String name) {<br />           this.name = name;<br />     }<br /><br />     public Date getTime() {<br />           return time;<br />     }<br /><br />     public void setTime(Date time) {<br />           this.time = time;<br />     }<br /><br />}<br /><br /><br />User.java<br />package test;<br /><br />import java.util.Date;<br /><br />import net.sf.breezy.datatable.TableField;<br /><br />public class User {<br />     @TableField(head = "名称", editable = false)<br />     private String name;<br /><br />     @TableField(head = "年龄", editable = false, type = "number")<br />     private int age;<br /><br />     @TableField(head = "阵营", type = "boolean", editable = false)<br />     private boolean light;<br /><br />     @TableField(head = "时间", type = "time", pattern = "yyyy/MM/dd")<br />     private Date date = new Date();<br /><br />     @TableField(head = "名称", property = "name", type="string")<br />     private Name nameBean = new Name();<br /><br />     public Name getNameBean() {<br />           return nameBean;<br />     }<br /><br />     public void setNameBean(Name nameBean) {<br />           this.nameBean = nameBean;<br />     }<br /><br />     public boolean isLight() {<br />           return light;<br />     }<br /><br />     public void setLight(boolean light) {<br />           this.light = light;<br />     }<br /><br />     public int getAge() {<br />           return age;<br />     }<br /><br />     public void setAge(int age) {<br />           this.age = age;<br />     }<br /><br />     public String getName() {<br />           return name;<br />     }<br /><br />     public void setName(String name) {<br />           this.name = name;<br />     }<br /><br />     public Date getDate() {<br />           return date;<br />     }<br /><br />     public void setDate(Date date) {<br />           this.date = date;<br />     }<br /><br />}<br /><br />DataTableTest .java<br /><br />package test;<br /><br />import java.awt.BorderLayout;<br />import java.util.LinkedList;<br />import java.util.List;<br /><br />import javax.swing.JFrame;<br />import javax.swing.JScrollPane;<br /><br />import net.sf.breezy.datatable.DataTable;<br />import net.sf.breezy.datatable.DataTableScrollPane;<br /><br /><br />public class DataTableTest {<br />     private JFrame mainFrm = new JFrame();<br />     <br />     protected void setUp() {            <br />           mainFrm.setSize(100, 600);<br />           mainFrm.setLocationRelativeTo(null);<br />           mainFrm.setLayout(new BorderLayout());<br /><br />           mainFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />     }<br />     <br />     public static void main(String[] args) {<br />           DataTableTest test = new DataTableTest();<br /><br />           test.setUp();<br />           test.testTable();<br />     }<br />     <br />     public void testTable() {            <br />           java.util.List list = new LinkedList();<br />           for(int i = 0; i &lt; 120; i ++) {<br />                 User u = new User();<br />                 <br />                 u.setAge(33);<br />                 u.setName("Cain " + i);<br />                 list.add(u);<br />           }<br />           DataTableScrollPane&lt;User&gt; pane = DataTable.getEntityTablePane(list, User.class);<br />           <br />           mainFrm.add(pane, BorderLayout.CENTER);            <br />           mainFrm.setVisible(true);<br />     }<br />}<br /><br /><br />映射文件:datatable-mappings.xml<br />&lt;?xml version="1.0"?&gt;<br /><br />&lt;class-mapping&gt;<br />     &lt;class name="test.User"&gt;<br />           &lt;property name="age" head="年龄" /&gt;<br />           &lt;property name="light" head="光芒" type="boolean" editable="true"/&gt;<br />           &lt;property name="nameBean" property="time" head="姓名" pattern="yyyy/mm/dd" type="time"/&gt;<br />           &lt;property name="date" head="Date"/&gt;<br />           &lt;property name="name" head="Name"/&gt;<br />     &lt;/class&gt;<br />&lt;/class-mapping&gt;<br /><br />也是很简单的吧. 关于JTree的应用也是很简单的哦. 详细情况请查看用户文档:<br /><br /><br />更多信息请关注 用户交流论坛: <a href="http://www.hexiao.cn/bbs/thread.php?fid=9">http://www.hexiao.cn/bbs/thread.php?fid=9</a> </span>
		</p><img src ="http://www.blogjava.net/51AOP/aggbug/50352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-06-04 22:33 <a href="http://www.blogjava.net/51AOP/archive/2006/06/04/50352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google发布AJAX开发工具 Google Web Toolkit</title><link>http://www.blogjava.net/51AOP/archive/2006/05/17/46686.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Wed, 17 May 2006 13:17:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/05/17/46686.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/46686.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/05/17/46686.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/46686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/46686.html</trackback:ping><description><![CDATA[<h1 align="center">Google Web Toolkit </h1>
		<h1>  - <font size="4">Build AJAX apps in the Java language</font></h1>
		<div class="download">
				<a href="http://code.google.com/webtoolkit/download.html">Download Google Web Toolkit (GWT)</a>  <a href="http://code.google.com/webtoolkit/">http://code.google.com/webtoolkit/</a> </div>
		<p>Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like <a href="http://maps.google.com/">Google Maps</a> and <a href="http://mail.google.com/">Gmail</a> easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatabilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.</p>
		<p>GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the <a href="http://java.sun.com/" rel="nofollow">Java</a> programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.</p>
		<p class="more">
				<a href="http://code.google.com/webtoolkit/overview.html">Learn more »</a>
				<br />
				<br />
		</p>
		<h2>GWT的特性: </h2>
		<ul class="featurelist">
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.html">Dynamic, reusable UI components</a>
						</div>
						<div class="description">Create a <a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.user.client.ui.Widget.html">Widget</a> by compositing other Widgets. Lay out Widgets automatically in <a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.user.client.ui.Panel.html">Panels</a>. Send your Widget to other developers in a JAR file.</div>
				</li>
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.RemoteProcedureCalls.html">Really simple RPC</a>
						</div>
						<div class="description">To communicate from your web application to your web server, you just need to define serializable Java classes for your request and response. In production, GWT automatically serializes the request and deserializes the response from the server. GWT's RPC mechanism can even handle polymorphic class hierarchies, and you can throw exceptions across the wire.</div>
				</li>
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.user.client.History.html">Browser history management</a>
						</div>
						<div class="description">No, AJAX applications <i>don't</i> need to break the browser's back button. GWT lets you make your site more usable by easily adding state to the browser's back button history.</div>
				</li>
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.Fundamentals.HostedMode.html">Real debugging</a>
						</div>
						<div class="description">In production, your code is compiled to JavaScript, but at development time it runs in the Java virtual machine. That means when your code performs an action like handling a mouse event, you get full-featured Java debugging, with exceptions and the advanced debugging features of IDEs like <a href="http://www.eclipse.org/" rel="nofollow">Eclipse</a>.</div>
				</li>
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.Fundamentals.WebMode.html">Browser compatible</a>
						</div>
						<div class="description">Your GWT applications automatically support IE, Firefox, Mozilla, Safari, and Opera with no browser detection or special-casing within your code in most cases.</div>
				</li>
				<li>
						<div class="heading">
								<a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.JavaScriptNativeInterface.html">Interoperability and fine-grained control</a>
						</div>
						<div class="description">If GWT's class library doesn't meet your needs, you can mix handwritten JavaScript in your Java source code using our <a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.JavaScriptNativeInterface.html">JavaScript Native Interface (JSNI)</a>.</div>
				</li>
		</ul>
		<p class="description">
				<font style="BACKGROUND-COLOR: #ee82ee" size="5">
						<strong>
								<a href="http://coder.blog.com.cn/archives/2006/849681.shtml">Google大全</a>
						</strong>
				</font>
		</p>
		<!-- end body text --><img src ="http://www.blogjava.net/51AOP/aggbug/46686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-05-17 21:17 <a href="http://www.blogjava.net/51AOP/archive/2006/05/17/46686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Pet Store 开始全面使用 Web 2.0 技术 </title><link>http://www.blogjava.net/51AOP/archive/2006/05/16/46491.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 16 May 2006 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/archive/2006/05/16/46491.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/46491.html</wfw:comment><comments>http://www.blogjava.net/51AOP/archive/2006/05/16/46491.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/46491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/46491.html</trackback:ping><description><![CDATA[<p>
				<a id="java_pet_store_%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8_web" name="java_pet_store_%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8_web">
				</a>
				<b>Java Pet Store 开始全面使用Web 2.0 技术</b>
				<br />
		</p>
		<div id="blogphoto">
				<p>
						<img height="1" src="http://blogs.sun.com/roller/resources/theaquarium/petstore.jpg" width="1" align="left" />
						<br />伴随着<strong>Java EE 5 SDK(</strong><a href="http://java.sun.com/javaee/downloads/index.jsp">下载</a><strong>) 的</strong>发布,最新的 <a href="https://blueprints.dev.java.net/petstore/index.html">Pet Store</a> (最初版) 开始全面启用 Web 2.0 技术。 </p>
				<p>
						<a href="http://weblogs.java.net/blog/sean_brydon/archive/2006/05/need_a_referenc.html">Sean</a> 和 <a href="http://blogs.sun.com/geertjan?entry=released_java_pet_store_reference">Geertjan</a> 都曾经对此有所介绍。 <a href="http://blogs.sun.com/roller/page/alexismp?entry=java_pet_store_short_video">Alexis</a> 还制作了一个短片向您展示怎样在 NetBeans 中启动<br /> <br />Pet Store（ <a href="http://blogs.sun.com/roller/resources/alexismp/petstore.html">大型</a> 或 <a href="http://blogs.sun.com/roller/resources/alexismp/petstore-small.html">小型</a>）。 </p>
		</div>不知道Java中的Web2.0 是否来的晚了一些, 你怎么看待Web2.0 在JavaEE中的使用呢?<br /><br /><br clear="all" /><div class="ta-tags"><a href="http://technorati.com/tag/AJAX" target="_blank" rel="tag">AJAX</a>, <a href="http://technorati.com/tag/PetStore" target="_blank" rel="tag">PetStore</a> ,<a href="http://technorati.com/tag/JavaEE" target="_blank" rel="tag">JavaEE</a></div><img src ="http://www.blogjava.net/51AOP/aggbug/46491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-05-16 21:58 <a href="http://www.blogjava.net/51AOP/archive/2006/05/16/46491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>