﻿<?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>IT博客-断网了……-随笔分类-Swing_UI开发进度</title><link>http://www.cnitblog.com/zcy860511/category/8013.html</link><description>烟灰学程序一年多了……总在想，要是断网了，我怎么学习……</description><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 01:19:45 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 01:19:45 GMT</pubDate><ttl>60</ttl><item><title>说说LookAndFeel的工作流程——Swing UI开发进度 </title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54619.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Mon, 16 Feb 2009 09:47:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54619.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54619.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54619.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54619.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54619.html</trackback:ping><description><![CDATA[<p>看过前面文章就基本对LookAndFeel的工作有了一个初步了解<br>其中涉及java反射机制，其实也不是叫我们要怎么去用透这个东西，只是了解一个概念<br><br>通过java反射机制获得UI，这个不用我说了<br><br>研究JButton之后，我们看到一个UI的配置方式:<br></p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008000">//</span><span style="COLOR: #008000">我省略了部分代码的书写</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;JButton(){<br>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">这里为省略部分</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;init(..);<br>}<br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;init(..){</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">省略参数<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">省略若干</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.setUI(UIManager.getUI(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">));<br>}<br><br></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;<br>&nbsp;*&nbsp;然后UIManager调用<br>&nbsp;&nbsp;*&nbsp;getUIDefaults().getUI(button)<br>&nbsp;*&nbsp;来生成UI<br>&nbsp;*&nbsp;然后getUI(button);中使用java反射获得UI值，具体<br>&nbsp;&nbsp;*&nbsp;还是看官自己看源码吧，牵涉的类太多，不好一一列出<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></div>
<br>然后，在button的setUI方法中<br>调用了installUI这个方法<br><br>接下来就是你准备怎么去install了<br>比如我就写了一个setOpaque(false)将背景透明化<br><br>上一次的讲解说到了初始化LookAndFeel里UI的设置，其实不光是UI，我们所有的属性都可以在里面设置<br><br>具体怎么加载的，我还在研究，不过我清楚的知道了，如果你要写鼠标事件，请记得在你的installUI里设置一下b.setRolloverEnabled(true);//b是button对象<br>或者，你可以在LookAndFeel中的UIDefaults中进行设置，因为其中牵涉的内容比较多，算是比较复杂的了<br>我还在研究<br><br>——未完待续—— 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-16 17:47 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/16/54619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java LookAndFeel原理 ——Swing UI开发进度</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54589.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sun, 15 Feb 2009 16:34:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54589.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54589.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/16/54589.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54589.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54589.html</trackback:ping><description><![CDATA[用一个专业化的说法就是java reflect，其实这里可以猜想，我们的JDBC驱动也应该是这样在工作<br>先给名字再在需要时加载，这也是java的神奇之处，C#没研究过，不清楚有没有反射机制，貌似我看到好像也有。<br>好了，闲话不扯了，这些都是题外话<br><br>java reflect做了什么？其中奥秘就在<font size=2 face="Courier New">UIDefaults中，这个类继承自HashMap
<p>我关注的是JDK帮助中的一个警告<br><strong><br>警告：</strong>此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储，或适用于在运行相同 Swing 版本的应用程序之间进行 RMI（Remote Method Invocation，远程方法调用）。从 1.4 版本开始，已在 <code>java.beans</code> 包中添加了支持所有 JavaBeans<sup><font size=-2>TM</font></sup> 长期存储的功能。请参见 <code>XMLEncoder</code>。 <br><br>这个警告说了什么。。。<br>也就是1.4之前已经有了这个类，我们不需要再重写这个类了，如果连这个类都要重写，那么代码量是惊人的<br>几乎重写了一套UI的事件+绘制，自己想想吧。<br><br><br>OK，简单说下LookAndFeel，这个东西很神奇，当你加载了一个外观时，这里面必须包含一个UIDefaults，这里包含了所有UI的细节，OK，我们做什么？把所有关于反射的参数设定好，利用put方法<br><br>例如：uiDefaults.put("PanelUI","com.ciash.swing.ui.DreamPanelUI");<br>这样你就有关于PanelUI的对应的类了，你的所有Panel都将去加载这个PanelUI。。。DreamPanelUI<br><br>但是，很关键的一点，你的PanelUI里必须有一个方法<br>public static ComponentUI createUI(JComponent c){<br>&nbsp;&nbsp;&nbsp;//这里是你的静态UI<br>}<br>这个方法将利用java reflect调用，非常的恶心，没有接口，我也是看源代码才了解到的<br>后面的工作我还在继续，等有了新发现再写下吧<br><br>我准备把这东西拿到OpenSource上去</font></p>
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-16 00:34 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/16/54589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为了好看，自己做！——Swing UI 开发进度</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/15/54564.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sat, 14 Feb 2009 20:33:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/15/54564.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54564.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/15/54564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54564.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54564.html</trackback:ping><description><![CDATA[关于swing的能力，如果是一个熟知java的人应该非常清楚<br>利用javax.swing.plaf包内里的接口可以做的事&#8230;&#8230;<br><img border=0 src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/swing1.jpg"><br><br>强大的LookAndFeel<br><br>目前完成的是无边框窗口，如上面图片中的窗口<br>按钮UI，如上图中的按钮<br>皮肤更换，其实就是一个XML文件，不断读取新的配置<br>点击换色也就repaint一下就ok，UI名不变，我们需要变的只是一个StyleSetting的设置<br>StyleSetting通过getInstance()方法获得颜色，当没有调用loadFromFile方法时，该类中的所有颜色配置都将是默认颜色<br>以灰调为主<br>这些颜色读取之后将改变<br>============================================================================<br>谁说swing不行？那是因为愚昧<br>当然，我们也可以用别人已经写好的LookAndFeel<br>但是，有什么比自己做更有趣呢？<br><br><br>现在还是半成品，我还是把JButton的基本属性给添加了，比如文本绘制、图标绘制<br><br><a href="http://www.cnitblog.com/zcy860511/admin/XML读取器，使用JDK1.6支持的dom">XML读取器，使用JDK1.6支持的dom读取方式</a><br><br><a href="http://www.cnitblog.com/zcy860511/admin/Swing_ui扩展包（Eclipse工程）">Swing_ui扩展包（Eclipse工程）</a> 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-15 04:33 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/15/54564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>按钮动画分解——Swing UI开发进度 </title><link>http://www.cnitblog.com/zcy860511/archive/2009/01/27/54032.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Tue, 27 Jan 2009 11:45:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/01/27/54032.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54032.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/01/27/54032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54032.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54032.html</trackback:ping><description><![CDATA[<p>对于UI的开发，那么最简单的自然是Button的开发，并且从Button开始开发将积累很多可重用组件以及方法，为以后的开发提供许多依仗<br>Button动画自然至少有两个个动画，按之前、按下，并且可以添加鼠标移入动画本人的美工确实有限的很，所以开发的东西不会非常好看，还请指教。<br><img border=0 src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/r_1.jpg"><br>这是一个为按下的动画，将这个绘制分解之后自然就可以看出，其实就是两段渐变效果<br>代码如下<br></p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080">&nbsp;1</span><img id=Codehighlighter1_46_1823_Open_Image onclick="this.style.display='none'; Codehighlighter1_46_1823_Open_Text.style.display='none'; Codehighlighter1_46_1823_Closed_Image.style.display='inline'; Codehighlighter1_46_1823_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_46_1823_Closed_Image onclick="this.style.display='none'; Codehighlighter1_46_1823_Closed_Text.style.display='none'; Codehighlighter1_46_1823_Open_Image.style.display='inline'; Codehighlighter1_46_1823_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;OutsetPainter&nbsp;</span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000">&nbsp;Painter&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_46_1823_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_46_1823_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Rectangle&nbsp;backRect;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;LinearGradientPaint&nbsp;lGPaint1;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Point&nbsp;startP&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Point();<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Point&nbsp;endP&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Point();<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;darkColor;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;lightColor;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;backColor;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;whiteColor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color(</span><span style="COLOR: #000000">250</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">250</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">250</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;CHANGE_STEP&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_412_451_Open_Image onclick="this.style.display='none'; Codehighlighter1_412_451_Open_Text.style.display='none'; Codehighlighter1_412_451_Closed_Image.style.display='inline'; Codehighlighter1_412_451_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_412_451_Closed_Image onclick="this.style.display='none'; Codehighlighter1_412_451_Closed_Text.style.display='none'; Codehighlighter1_412_451_Open_Image.style.display='inline'; Codehighlighter1_412_451_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;OutsetPainter(Rectangle&nbsp;rect)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_412_451_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_412_451_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init(rect,&nbsp;StyleColor.backColor);<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img id=Codehighlighter1_505_529_Open_Image onclick="this.style.display='none'; Codehighlighter1_505_529_Open_Text.style.display='none'; Codehighlighter1_505_529_Closed_Image.style.display='inline'; Codehighlighter1_505_529_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_505_529_Closed_Image onclick="this.style.display='none'; Codehighlighter1_505_529_Closed_Text.style.display='none'; Codehighlighter1_505_529_Open_Image.style.display='inline'; Codehighlighter1_505_529_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;OutsetPainter(Rectangle&nbsp;rect,&nbsp;Color&nbsp;color)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_505_529_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_505_529_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init(rect,&nbsp;color);<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img id=Codehighlighter1_579_680_Open_Image onclick="this.style.display='none'; Codehighlighter1_579_680_Open_Text.style.display='none'; Codehighlighter1_579_680_Closed_Image.style.display='inline'; Codehighlighter1_579_680_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_579_680_Closed_Image onclick="this.style.display='none'; Codehighlighter1_579_680_Closed_Text.style.display='none'; Codehighlighter1_579_680_Open_Image.style.display='inline'; Codehighlighter1_579_680_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;init(Rectangle&nbsp;rect,&nbsp;Color&nbsp;color)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_579_680_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_579_680_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.backRect&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Rectangle)&nbsp;rect.clone();<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backColor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;color;<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initLinearGradientPaint(rect);<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img id=Codehighlighter1_720_771_Open_Image onclick="this.style.display='none'; Codehighlighter1_720_771_Open_Text.style.display='none'; Codehighlighter1_720_771_Closed_Image.style.display='inline'; Codehighlighter1_720_771_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_720_771_Closed_Image onclick="this.style.display='none'; Codehighlighter1_720_771_Closed_Text.style.display='none'; Codehighlighter1_720_771_Open_Image.style.display='inline'; Codehighlighter1_720_771_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;painted(Graphics2D&nbsp;g2d)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_720_771_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_720_771_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g2d.setPaint(lGPaint1);<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g2d.fill(backRect);<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img id=Codehighlighter1_832_1169_Open_Image onclick="this.style.display='none'; Codehighlighter1_832_1169_Open_Text.style.display='none'; Codehighlighter1_832_1169_Closed_Image.style.display='inline'; Codehighlighter1_832_1169_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_832_1169_Closed_Image onclick="this.style.display='none'; Codehighlighter1_832_1169_Closed_Text.style.display='none'; Codehighlighter1_832_1169_Open_Image.style.display='inline'; Codehighlighter1_832_1169_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;initLinearGradientPaint(Rectangle&nbsp;backRect)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_832_1169_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_832_1169_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;darkColor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;createDarkColor(backColor);<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lightColor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;createLightColor(backColor);<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startP.y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;backRect.y;<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endP.y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;backRect.y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;backRect.height;<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img id=Codehighlighter1_1005_1052_Open_Image onclick="this.style.display='none'; Codehighlighter1_1005_1052_Open_Text.style.display='none'; Codehighlighter1_1005_1052_Closed_Image.style.display='inline'; Codehighlighter1_1005_1052_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1005_1052_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1005_1052_Closed_Text.style.display='none'; Codehighlighter1_1005_1052_Open_Image.style.display='inline'; Codehighlighter1_1005_1052_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color[]&nbsp;colors&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1005_1052_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1005_1052_Open_Text><span style="COLOR: #000000">{&nbsp;whiteColor,&nbsp;backColor,&nbsp;darkColor,&nbsp;lightColor&nbsp;}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img id=Codehighlighter1_1072_1099_Open_Image onclick="this.style.display='none'; Codehighlighter1_1072_1099_Open_Text.style.display='none'; Codehighlighter1_1072_1099_Closed_Image.style.display='inline'; Codehighlighter1_1072_1099_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1072_1099_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1072_1099_Closed_Text.style.display='none'; Codehighlighter1_1072_1099_Open_Image.style.display='inline'; Codehighlighter1_1072_1099_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">[]&nbsp;dish&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1072_1099_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1072_1099_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #000000">0.0f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.49f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.50f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1.0f</span><span style="COLOR: #000000">&nbsp;}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lGPaint1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;LinearGradientPaint(startP,&nbsp;endP,&nbsp;dish,&nbsp;colors);<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img id=Codehighlighter1_1216_1392_Open_Image onclick="this.style.display='none'; Codehighlighter1_1216_1392_Open_Text.style.display='none'; Codehighlighter1_1216_1392_Closed_Image.style.display='inline'; Codehighlighter1_1216_1392_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1216_1392_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1216_1392_Closed_Text.style.display='none'; Codehighlighter1_1216_1392_Open_Image.style.display='inline'; Codehighlighter1_1216_1392_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;createDarkColor(Color&nbsp;color)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1216_1392_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1216_1392_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;red&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getSmallerInt(color.getRed());<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;green&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getSmallerInt(color.getGreen());<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;blue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getSmallerInt(color.getBlue());<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color(red,&nbsp;green,&nbsp;blue);<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img id=Codehighlighter1_1429_1495_Open_Image onclick="this.style.display='none'; Codehighlighter1_1429_1495_Open_Text.style.display='none'; Codehighlighter1_1429_1495_Closed_Image.style.display='inline'; Codehighlighter1_1429_1495_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1429_1495_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1429_1495_Closed_Text.style.display='none'; Codehighlighter1_1429_1495_Open_Image.style.display='inline'; Codehighlighter1_1429_1495_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getSmallerInt(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1429_1495_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1429_1495_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(i&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CHANGE_STEP&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;:&nbsp;i&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CHANGE_STEP;<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img id=Codehighlighter1_1543_1716_Open_Image onclick="this.style.display='none'; Codehighlighter1_1543_1716_Open_Text.style.display='none'; Codehighlighter1_1543_1716_Closed_Image.style.display='inline'; Codehighlighter1_1543_1716_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1543_1716_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1543_1716_Closed_Text.style.display='none'; Codehighlighter1_1543_1716_Open_Image.style.display='inline'; Codehighlighter1_1543_1716_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Color&nbsp;createLightColor(Color&nbsp;color)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1543_1716_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1543_1716_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;red&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getBiggerInt(color.getRed());<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;green&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getBiggerInt(color.getGreen());<br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;blue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getBiggerInt(color.getBlue());<br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color(red,&nbsp;green,&nbsp;blue);<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img id=Codehighlighter1_1752_1822_Open_Image onclick="this.style.display='none'; Codehighlighter1_1752_1822_Open_Text.style.display='none'; Codehighlighter1_1752_1822_Closed_Image.style.display='inline'; Codehighlighter1_1752_1822_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1752_1822_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1752_1822_Closed_Text.style.display='none'; Codehighlighter1_1752_1822_Open_Image.style.display='inline'; Codehighlighter1_1752_1822_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getBiggerInt(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1752_1822_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1752_1822_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(i&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;CHANGE_STEP&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">&nbsp;:&nbsp;i&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;CHANGE_STEP;<br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
</span><br>LinearGradientPaint&nbsp;是这里唯一要讲述一下的类，这个类实现了Paint接口，并实现了渐变的绘制<br>这也是Java2D的强大之处，为做游戏提供了很多依仗，但是要做更高强度的绘制渲染还是得自己实现Paint接口进行绘制<br><br>请注意一个细节<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080">1</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;OutsetPainter(Rectangle&nbsp;rect,&nbsp;Color&nbsp;color)&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_50_87_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_50_87_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">2</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init(rect,&nbsp;color);<br></span><span style="COLOR: #008080">3</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">4</span><span style="COLOR: #000000"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></span></div>
这段代码为鼠标移入按钮提供了依仗，使得更换颜色达到动画效果 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-01-27 19:45 <a href="http://www.cnitblog.com/zcy860511/archive/2009/01/27/54032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于AlphaComposite的理解——Swing UI开发进度 </title><link>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54017.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sat, 24 Jan 2009 21:12:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54017.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54017.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54017.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54017.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54017.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;我将对java 2D进行一些讲述，当然是原创，不过也是参考自sun公司自己编写的java tutorial。下面是这个指南的地址，以及一些来自官方的翻译版本关于Composite的官方版本（英文） AlphaComposite，是关于两个目标重叠的混合处理类，该类提供了一个getInstance的方法，其中的两个参数为rule和alpha，第二个参数将由调用者设置一个alpha...&nbsp;&nbsp;<a href='http://www.cnitblog.com/zcy860511/archive/2009/01/25/54017.html'>阅读全文</a><img src ="http://www.cnitblog.com/zcy860511/aggbug/54017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-01-25 05:12 <a href="http://www.cnitblog.com/zcy860511/archive/2009/01/25/54017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新的一个开始！——Swing UI开发进度 </title><link>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54016.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sat, 24 Jan 2009 19:27:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54016.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54016.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/01/25/54016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54016.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54016.html</trackback:ping><description><![CDATA[现在将进行Swing_UI都开发，最终为将其整合为LookAndFeel来处理，将是轻量级组件外观。。。。<br>当然，我已经提过，是SwingUI开发来。。。自然是轻量级。。。。<br><br>暂时定名为poem&#8230;&#8230; <br><br>铭记这个日子2009-1-25 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-01-25 03:27 <a href="http://www.cnitblog.com/zcy860511/archive/2009/01/25/54016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>