﻿<?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-季浩的Blog-随笔分类-Swing Tips</title><link>http://www.blogjava.net/jht/category/21069.html</link><description>努力</description><language>zh-cn</language><lastBuildDate>Tue, 18 Sep 2007 13:42:31 GMT</lastBuildDate><pubDate>Tue, 18 Sep 2007 13:42:31 GMT</pubDate><ttl>60</ttl><item><title>MyScreenSnap 一个简单的截图程序</title><link>http://www.blogjava.net/jht/archive/2007/03/29/107311.html</link><dc:creator>jht</dc:creator><author>jht</author><pubDate>Thu, 29 Mar 2007 11:19:00 GMT</pubDate><guid>http://www.blogjava.net/jht/archive/2007/03/29/107311.html</guid><wfw:comment>http://www.blogjava.net/jht/comments/107311.html</wfw:comment><comments>http://www.blogjava.net/jht/archive/2007/03/29/107311.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/jht/comments/commentRss/107311.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jht/services/trackbacks/107311.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天稍微花了点时间实现了一个java的屏幕截图程序，功能简单，支持全屏截图和选择截图用JSmooth做了个.exe程序，直接运行就可以了，附：程序下载 http://www.blogjava.net/Files/jht/MyScreenSnap.zipJRE1.4版本的可执行程序 http://www.blogjava.net/Files/jht/MyScreenSnap_jre1.4.zip关键...&nbsp;&nbsp;<a href='http://www.blogjava.net/jht/archive/2007/03/29/107311.html'>阅读全文</a><img src ="http://www.blogjava.net/jht/aggbug/107311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jht/" target="_blank">jht</a> 2007-03-29 19:19 <a href="http://www.blogjava.net/jht/archive/2007/03/29/107311.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SwingHack1-创建使用图像主题的组件</title><link>http://www.blogjava.net/jht/archive/2007/03/28/107093.html</link><dc:creator>jht</dc:creator><author>jht</author><pubDate>Wed, 28 Mar 2007 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/jht/archive/2007/03/28/107093.html</guid><wfw:comment>http://www.blogjava.net/jht/comments/107093.html</wfw:comment><comments>http://www.blogjava.net/jht/archive/2007/03/28/107093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jht/comments/commentRss/107093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jht/services/trackbacks/107093.html</trackback:ping><description><![CDATA[这个技巧比较Cool也比较基础常用，关键技术是使用图像重新绘制组件<br />看下面demo的代码<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.awt.Insets;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.swing.ImageIcon;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.swing.JButton;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_124_448_Open_Image" onclick="this.style.display='none'; Codehighlighter1_124_448_Open_Text.style.display='none'; Codehighlighter1_124_448_Closed_Image.style.display='inline'; Codehighlighter1_124_448_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_124_448_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_124_448_Closed_Text.style.display='none'; Codehighlighter1_124_448_Open_Image.style.display='inline'; Codehighlighter1_124_448_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ImageButton </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> JButton </span><span id="Codehighlighter1_124_448_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_124_448_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> serialVersionUID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">7760427126786950870L</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_232_446_Open_Image" onclick="this.style.display='none'; Codehighlighter1_232_446_Open_Text.style.display='none'; Codehighlighter1_232_446_Closed_Image.style.display='inline'; Codehighlighter1_232_446_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_232_446_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_232_446_Closed_Text.style.display='none'; Codehighlighter1_232_446_Open_Image.style.display='inline'; Codehighlighter1_232_446_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> ImageButton(ImageIcon icon) </span><span id="Codehighlighter1_232_446_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_232_446_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setSize(icon.getImage().getWidth(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">),icon.getImage().getHeight(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setIcon(icon);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setMargin(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Insets(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setIconTextGap(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setBorderPainted(</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setBorder(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setText(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><p><br />稍微要解释一下的是讲button的边框都设置成为0，还有边框的重绘设置false，我们可以用不同的贴图表示按钮被选中等的状态<br /><br />使用这个组件的demoCode</p><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">        ImageButton button </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageButton(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setPressedIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setRolloverIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setSelectedIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setRolloverSelectedIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setDisabledIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button.setDisabledSelectedIcon(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ImageIcon(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">images/*.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));</span></div><br />这个Hack要显示效果好，关键就在于贴图了，可见美工很重要。<br /><br />我准备每天Hack一篇<br /><br />更多内容，可以看Swing Hacks<br /><br /><br />参考资料：<br /> "<span class="docEmphasis">Swing Hacks</span> by Joshua Marinacci and Chris Adamson. Copyright 2005 O'Reilly Media, Inc., 0-596-00907-0."<img src ="http://www.blogjava.net/jht/aggbug/107093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jht/" target="_blank">jht</a> 2007-03-28 23:57 <a href="http://www.blogjava.net/jht/archive/2007/03/28/107093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tip: About a frame without title bar</title><link>http://www.blogjava.net/jht/archive/2007/03/28/106932.html</link><dc:creator>jht</dc:creator><author>jht</author><pubDate>Wed, 28 Mar 2007 05:24:00 GMT</pubDate><guid>http://www.blogjava.net/jht/archive/2007/03/28/106932.html</guid><wfw:comment>http://www.blogjava.net/jht/comments/106932.html</wfw:comment><comments>http://www.blogjava.net/jht/archive/2007/03/28/106932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jht/comments/commentRss/106932.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jht/services/trackbacks/106932.html</trackback:ping><description><![CDATA[It's easy to create a frame without title bar.Just use this method setUndecorated(true)<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">JFrame frame </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> JFrame();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />frame.setUndecorated(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />frame.setSize(</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />frame.show();</span></div><img src ="http://www.blogjava.net/jht/aggbug/106932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jht/" target="_blank">jht</a> 2007-03-28 13:24 <a href="http://www.blogjava.net/jht/archive/2007/03/28/106932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>