﻿<?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-yellowstonemay-文章分类-JAVA</title><link>http://www.blogjava.net/yellowstonemay/category/37901.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 21 Aug 2009 04:17:49 GMT</lastBuildDate><pubDate>Fri, 21 Aug 2009 04:17:49 GMT</pubDate><ttl>60</ttl><item><title>How to use custom type handler (typeHandler) in ibatis 2.3.4 </title><link>http://www.blogjava.net/yellowstonemay/articles/291261.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Sat, 15 Aug 2009 07:07:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/291261.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/291261.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/291261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/291261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/291261.html</trackback:ping><description><![CDATA[<p><font style="background-color: #c5e4c5">i am using ibatis to replace JDBC in&nbsp;a old system. Many old bean are using Calendar instead of Date。So i am considering write a <font style="background-color: #c5e4c5">TypeHandlerCallback</font> to handler the translation.<br />
<br />
the class implement TypeHandlerCallback:<br />
</p>
<p>public class CalendarTypeHandlerCallback implements TypeHandlerCallback {</p>
<p>&nbsp;public Object getResult(ResultGetter getter) throws SQLException {<br />
&nbsp;&nbsp;String s = getter.getString();<br />
&nbsp;&nbsp;DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");<br />
&nbsp;&nbsp;Calendar cdate = Calendar.getInstance();<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;Date date = format.parse(s);<br />
&nbsp;&nbsp;&nbsp;cdate.setTime(date);<br />
&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return cdate;<br />
&nbsp;}</p>
<p>&nbsp;public void setParameter(ParameterSetter setter, Object parameter)<br />
&nbsp;&nbsp;&nbsp;throws SQLException {<br />
&nbsp;&nbsp;Calendar cdate = (Calendar)parameter;<br />
&nbsp;&nbsp;java.sql.Timestamp time = new java.sql.Timestamp(cdate.getTimeInMillis());<br />
&nbsp;&nbsp;setter.setTimestamp(time);<br />
&nbsp;}</p>
<p>&nbsp;public Object valueOf(String s) {<br />
&nbsp;&nbsp;Calendar cdate = Calendar.getInstance();<br />
&nbsp;&nbsp;DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;Date date = format.parse(s);<br />
&nbsp;&nbsp;&nbsp;cdate.setTime(date);<br />
&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return cdate;<br />
&nbsp;}</p>
<p>}</p>
<p>the map xml:<br />
</p>
<p>&lt;?xml version="1.0" encoding="UTF-8" ?&gt; </p>
<p>&lt;!DOCTYPE sqlMap <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt; </p>
<p>&lt;sqlMap namespace="TunnelsDao"&gt;&nbsp;<br />
<br />
&nbsp; <span style="color: red">&lt;typeAlias alias="Calendar" type="java.util.Calendar"/&gt;<br />
</span>&nbsp; &lt;resultMap id="TunnelsDaoResult" class="com.adito.tunnels.DefaultTunnel"&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="resourceId" column="TUNNEL_ID"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="type" column="TYPE"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="resourceName" column="NAME"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="resourceDescription" column="DESCRIPTION"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="transport" column="TRANSPORT"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="username" column="USERNAME"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="sourcePort" column="SOURCE_PORT"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="destination_port" column="DESTINATION_PORT"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="destination_host" column="DESTINATION_HOST"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;result property="autoStart" column="AUTO_START"/&gt;&nbsp;<br />
&nbsp;&nbsp;&nbsp; <span style="color: red">&lt;result property="dateCreated" column="DATE_CREATED" <br />
&nbsp;&nbsp;&nbsp; &nbsp;javaType="Calendar" jdbcType="TIMESTAMPE" typeHandler="an.flex.ibatis.CalendarTypeHandlerCallback"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;result property="dateAmended" column="DATE_AMENDED" <br />
&nbsp;&nbsp;&nbsp; &nbsp;javaType="Calendar" jdbcType="TIMESTAMPE" typeHandler="an.flex.ibatis.CalendarTypeHandlerCallback"/&gt;&nbsp;&nbsp;<br />
&lt;!-- this&nbsp;will cause ibatis to invoke getResult function in CalendarTypeHandlerCallback&nbsp;to&nbsp;transfer&nbsp;data&nbsp;from DB to Calendar in bean--&gt;<br />
</span>&nbsp; &lt;/resultMap&gt; </p>
<p>&nbsp; &lt;select id="selectAll" resultMap="TunnelsDaoResult"&gt; <br />
&nbsp;&nbsp;&nbsp; select * from tunnels <br />
&nbsp; &lt;/select&gt; </p>
<p>&lt;insert id="insert" parameterClass="com.adito.tunnels.DefaultTunnel"&gt;<br />
&nbsp;INSERT INTO tunnels (TYPE, NAME, DESCRIPTION, TRANSPORT, USERNAME, <br />
&nbsp;SOURCE_PORT, DESTINATION_PORT, DESTINATION_HOST, AUTO_START,<br />
&nbsp;DATE_CREATED, DATE_AMENDED) <br />
&nbsp;VALUES (#type#, #resourceName#, #resourceDescription#, #transport#,#username#,<br />
&nbsp;#sourcePort#,#destination_port#,#destination_host#, #autoStart#,<br />
&nbsp;<span style="color: red">#dateCreated,handler=an.flex.ibatis.CalendarTypeHandlerCallback#, <br />
&nbsp;#dateAmended,handler=an.flex.ibatis.CalendarTypeHandlerCallback#)</span><br />
&lt;!--<span style="color: red">this&nbsp;will cause ibatis to invoke setParameter function in CalendarTypeHandlerCallback&nbsp;to&nbsp;transfer&nbsp;Calendar data in bean to&nbsp;DB--&gt;</span><br />
&nbsp;&lt;selectKey resultClass="int" &gt;<br />
&nbsp;SELECT LAST_INSERT_ID() AS ID<br />
&nbsp;&lt;/selectKey&gt;<br />
&lt;/insert&gt;</p>
<p>&lt;delete id="deleteAll"&gt;<br />
&nbsp;delete from tunnels<br />
&lt;/delete&gt;</p>
<p>&lt;delete id="deleteById" parameterClass="Integer"&gt;<br />
&nbsp;delete from tunnels where TUNNEL_ID = #resourceId#<br />
&lt;/delete&gt;<br />
&lt;/sqlMap&gt;<br />
</p>
<p><br />
</font>&nbsp;</p>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/291261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-08-15 15:07 <a href="http://www.blogjava.net/yellowstonemay/articles/291261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iBatis 2.3 使用方法</title><link>http://www.blogjava.net/yellowstonemay/articles/290220.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Tue, 11 Aug 2009 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/290220.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/290220.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/290220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/290220.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/290220.html</trackback:ping><description><![CDATA[<br />
<font style="background-color: #c5e4c5"><a href="http://lavasoft.blog.51cto.com/62575/83896">http://lavasoft.blog.51cto.com/62575/83896</a>&nbsp;----</font> iBatis2学习笔记：基本原理和配置<br />
这篇文章比较好上手，例子我已经调试通过，用的是<font style="background-color: #c5e4c5">mysql-connector-java-5.1.8-bin.jar</font>和<font style="background-color: #c5e4c5">ibatis-2.3.4.726.jar</font>。当然，sqlMapClient最好封装成各表对应的DAO再进行调用。文章也提到官方的例子&#8220;iBatis实现的JPetStore-5.0.zip&#8221;，我看了，还是用的2.2之前的库，DAO库是standalone的。<br />
<br />
除了在<font style="background-color: #c5e4c5">sqlMapConfig.xml中指定<font style="background-color: #c5e4c5"><font style="background-color: #c5e4c5">properties来初始化jdbc的连接参数，然后再调用<font style="background-color: #c5e4c5">sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);</font> 之外，如何更灵活的在程序中初始化这些参数呢？<br />
用<font style="background-color: #c5e4c5">SqlMapClientBuilder.buildSqlMapClient(reader, props)函数，例<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties props = new Properties();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; props.put("jdbc.driver", vendorDB);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; props.put("jdbc.username", jdbcUser);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; props.put("jdbc.password", jdbcPassword);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; props.put("jdbc.url", getURL(dbName));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader, props); <br />
</font><font style="background-color: #c5e4c5"><br />
另外，使用中发现对于数据库中的timestamp类型，java对应的bean中要用Date进行对应，如果用Calendar会异常。<br />
<br />
关于ibatis分页：<br />
ibatis内置的分页方法是queryForPaginatedList()，使用比较方便，不过该函数在2.3中标注为deprecated。因为它实际上是将所有数据读入内存后再逻辑实现的分页，数据量大时，效率不好。<br />
这里有个贴，介绍如何外面包一下，用三层sql语句实现ibatis分页：<font style="background-color: #c5e4c5"><a href="http://blog.csdn.net/quxiling/archive/2008/03/28/2225173.aspx">http://blog.csdn.net/quxiling/archive/2008/03/28/2225173.aspx</a></font> <br />
<br />
不知道ibatis 3.0对分页的支持如何？<br />
<br />
</font></font></font></font>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/290220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-08-11 16:50 <a href="http://www.blogjava.net/yellowstonemay/articles/290220.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中对图象文件的处理(读写以及转换) (转帖)</title><link>http://www.blogjava.net/yellowstonemay/articles/289803.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Tue, 04 Aug 2009 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/289803.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/289803.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/289803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/289803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/289803.html</trackback:ping><description><![CDATA[<div class="postTitle"><a id="ctl04_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/semo/archive/2007/04/24/725304.html">java中对图象文件的处理(读写以及转换)</a> </div>
<p>方法一:<br />
(利用imageio类的读写函数)<br />
import javax.imageio.ImageIO;<br />
import java.io.File;<br />
import java.io.IOException;<br />
import java.awt.image.BufferedImage;<br />
<br />
public class ChangeImageStyle {<br />
<br />
&nbsp; public static void main(String args[]) throws IOException{<br />
&nbsp; <br />
&nbsp; &nbsp; File inputFile = new File("test.bmp");<br />
&nbsp; &nbsp; BufferedImage input = ImageIO.read(inputFile);<br />
<br />
&nbsp; &nbsp; //转换为gif格式的图片 <br />
&nbsp; &nbsp; File outputFile = new File("test.gif");<br />
&nbsp; &nbsp; ImageIO.write(input, "GIF", outputFile);<br />
<br />
&nbsp; &nbsp; //转换为jpg格式的图片 &nbsp; <br />
&nbsp; &nbsp; outputFile = new File("test.jpg");<br />
&nbsp; &nbsp; ImageIO.write(input, "JPG", outputFile);<br />
<br />
&nbsp; &nbsp; //转换为png格式的图片 <br />
&nbsp; &nbsp; outputFile = new File("test.png");<br />
&nbsp; &nbsp; ImageIO.write(input, "PNG", outputFile);<br />
&nbsp; }<br />
}<br />
<br />
方法二:<br />
如果你已经把某个文件读入,并存为了Image类的一个实例.<br />
转变方法如下:<br />
其中:image为Image类的一个实例<br />
try{<br />
BufferedImage bi = new BufferedImage(image.getWidth(null), image.getHeight(null),BufferedImage.TYPE_INT_RGB);<br />
Graphics2D biContext = bi.createGraphics();<br />
biContext.drawImage(image, 0, 0, null);<br />
FileOutputStream out=new FileOutputStream("./a1.jpeg");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
JPEGEncodeParam param=encoder.getDefaultJPEGEncodeParam(bi);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
param.setQuality(1.0f,false);<br />
encoder.setJPEGEncodeParam(param);<br />
encoder.encode(bi);<br />
out.flush();<br />
&nbsp;out.close();<br />
&nbsp;}catch(Exception EE)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;System.out.println(EE);<br />
&nbsp;&nbsp;&nbsp;} <br />
<br />
</p>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/289803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-08-04 17:02 <a href="http://www.blogjava.net/yellowstonemay/articles/289803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA swing 如何显示一个不规则的窗体（例如三角形）</title><link>http://www.blogjava.net/yellowstonemay/articles/270455.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Wed, 13 May 2009 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/270455.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/270455.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/270455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/270455.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/270455.html</trackback:ping><description><![CDATA[<p>package com.sysdynamic.test;</p>
<p>import java.awt.*;<br />
import java.awt.geom.Ellipse2D;<br />
import java.awt.geom.GeneralPath;<br />
import java.awt.geom.RoundRectangle2D;</p>
<p>import javax.swing.*;</p>
<p>public class ShapedWindow extends JFrame {<br />
<br />
&nbsp;public ShapedWindow() {<br />
&nbsp;&nbsp;super("Test oval-shaped window");<br />
&nbsp;&nbsp;this.setLayout(new FlowLayout());<br />
&nbsp;&nbsp;this.add(new JButton("test"));<br />
&nbsp;&nbsp;this.add(new JCheckBox("test"));<br />
&nbsp;&nbsp;this.add(new JRadioButton("test"));<br />
&nbsp;&nbsp;this.add(new JProgressBar(0, 100));</p>
<p>&nbsp;&nbsp;this.setSize(new Dimension(400, 300));<br />
&nbsp;&nbsp;this.setLocationRelativeTo(null);<br />
&nbsp;&nbsp;this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />
&nbsp;}</p>
<p>&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;JFrame.setDefaultLookAndFeelDecorated(true);<br />
&nbsp;&nbsp;SwingUtilities.invokeLater(new Runnable() {<br />
&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;public void run() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;Window w = new ShapedWindow();<br />
&nbsp;&nbsp;&nbsp;&nbsp;w.setVisible(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Rectangle bounds = w.getBounds();<br />
&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; Rectangle newrec = new Rectangle(0, 0, bounds.width-100, bounds.height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">GeneralPath gp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gp = new GeneralPath(newrec);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gp.moveTo(bounds.width-100, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gp.lineTo(bounds.width, bounds.height/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gp.lineTo(bounds.width-100, bounds.height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gp.lineTo(bounds.width-100, 0);<br />
</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;/*com.sun.awt.AWTUtilities<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setWindowShape(w, new Ellipse2D.Double(0, 0, w<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getWidth(), w.getHeight()));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">com.sun.awt.AWTUtilities.setWindowShape(w, gp);</span>&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;});<br />
&nbsp;}</p>
<p>}</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/270455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-05-13 17:50 <a href="http://www.blogjava.net/yellowstonemay/articles/270455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>how to : RGBA byte[] convert to ARBG and then save to a jpeg file</title><link>http://www.blogjava.net/yellowstonemay/articles/257910.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Wed, 04 Mar 2009 19:45:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/257910.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/257910.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/257910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/257910.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/257910.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;reference：<br />
<a href="http://forums-beta.sun.com/thread.jspa?messageID=2817931">http://forums-beta.sun.com/thread.jspa?messageID=2817931</a><br />
<a href="http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Supplements/Chapter11/pixelHandling.html">http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Supplements/Chapter11/pixelHandling.html</a>&nbsp;<br />
<br />
My code passed testing:<br />
<br />
&nbsp; private byte[] icon_image_RGBA = new byte[32 * 32 * 4];<br />
&nbsp;&nbsp;private int[] icon_image_ARGB = new int[32 * 32 + 2];<br />
&nbsp;&nbsp;//public int[] icon_<br />
&nbsp;&nbsp;public int icon_size=0;<br />
&nbsp;&nbsp;public int icon_offset=0;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;public String image_str = "temp.jpeg";<br />
&nbsp;&nbsp;private File imgage_file = new File(image_str);<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;private void convertRGBAtoARGB(int width, int height){<br />
&nbsp;&nbsp;&nbsp;icon_image_ARGB[0] = width;<br />
&nbsp;&nbsp;&nbsp;icon_image_ARGB[1] = height;</p>
<p>&nbsp;&nbsp;&nbsp;/* Convert RGBA -&gt; ARGB */<br />
&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; width * height; i++)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;icon_image_ARGB[i + 2] =<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon_image_RGBA[i * 4 + 3] &lt;&lt; 24 |<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((icon_image_RGBA[i * 4 + 0] &lt;&lt; 16) &amp; 0x00FF0000) |<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((icon_image_RGBA[i * 4 + 1] &lt;&lt; 8) &amp; 0x0000FF00) |<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((icon_image_RGBA[i * 4 + 2] &lt;&lt; 0) &amp; 0x000000FF);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);<br />
&nbsp;&nbsp;&nbsp;image.setRGB(0, 0, width, height, icon_image_ARGB, 0, width);<br />
&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;ImageIO.write(image, "jpeg", imgage_file);<br />
&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br />
&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}</p>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/257910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-03-05 03:45 <a href="http://www.blogjava.net/yellowstonemay/articles/257910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>how to do JAVA String switch</title><link>http://www.blogjava.net/yellowstonemay/articles/257450.html</link><dc:creator>yellowstone</dc:creator><author>yellowstone</author><pubDate>Mon, 02 Mar 2009 18:24:00 GMT</pubDate><guid>http://www.blogjava.net/yellowstonemay/articles/257450.html</guid><wfw:comment>http://www.blogjava.net/yellowstonemay/comments/257450.html</wfw:comment><comments>http://www.blogjava.net/yellowstonemay/articles/257450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yellowstonemay/comments/commentRss/257450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yellowstonemay/services/trackbacks/257450.html</trackback:ping><description><![CDATA[<p>The thing I miss about Java is that it doesn't have string switch functionality like C#. The only way to get close to achieving this in Java is through enums.<br />
<span id="fullpost"><br />
A lot of people wonder how that can be done but when I read on a forum post about it I decided to do it myself.<br />
Firstly you'll need the strings you want to look out for. Create an enum containing them, just know that it can only be 1 word strings, don't even try multiple words!<br />
<br />
<pre style="font-family: trebuchet ms"><span style="color: rgb(255,102,0)">enum</span> StrList<br />
<span style="color: rgb(51,102,255)">{</span><br />
car<span style="color: rgb(51,102,255)">,</span><br />
dog<span style="color: rgb(51,102,255)">,</span><br />
human<br />
<span style="color: rgb(51,102,255)">}</span></pre>
<br />
Now we can take a whole string and pass it through the switch statement.<br />
<br />
<pre style="font-family: trebuchet ms"><span style="color: rgb(255,102,0)">switch</span><span style="color: rgb(51,102,255)">(</span>StrList<span style="color: rgb(51,102,255)">.</span>valueOf<span style="color: rgb(51,102,255)">(</span>incommingStr<span style="color: rgb(51,102,255)">.</span>toLowerCase<span style="color: rgb(51,102,255)">()))</span><br />
<span style="color: rgb(51,102,255)">{</span><br />
<span style="color: rgb(255,102,0)">case </span>car<span style="color: rgb(51,102,255)">:</span><br />
<span style="color: rgb(0,153,0)">//Do what you want with the 'car'</span><br />
<span style="color: rgb(255,102,0)">break</span><span style="color: rgb(51,102,255)">;</span><br />
<span style="color: rgb(255,102,0)">case </span>dog<span style="color: rgb(51,102,255)">:</span><br />
<span style="color: rgb(0,153,0)">//Do what you want with the 'dog'</span><br />
<span style="color: rgb(255,102,0)">break</span><span style="color: rgb(51,102,255)">;</span><br />
<span style="color: rgb(255,102,0)">case </span>human<span style="color: rgb(51,102,255)">:</span><br />
<span style="color: rgb(0,153,0)">//Do what you want with the 'human'</span><br />
<span style="color: rgb(255,102,0)">break</span><span style="color: rgb(51,102,255)">;</span><br />
<span style="color: rgb(51,102,255)">}</span></pre>
</span>
<img src ="http://www.blogjava.net/yellowstonemay/aggbug/257450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yellowstonemay/" target="_blank">yellowstone</a> 2009-03-03 02:24 <a href="http://www.blogjava.net/yellowstonemay/articles/257450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>