﻿<?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-交口称赞-随笔分类-Eclipse RCP SWT</title><link>http://www.blogjava.net/vip01/category/16738.html</link><description>简单实用----逻辑清楚</description><language>zh-cn</language><lastBuildDate>Thu, 27 Dec 2007 09:15:52 GMT</lastBuildDate><pubDate>Thu, 27 Dec 2007 09:15:52 GMT</pubDate><ttl>60</ttl><item><title>Myeclipse 6.0.1高速下载，支持eclipse3.3.1</title><link>http://www.blogjava.net/vip01/archive/2007/10/19/154092.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Fri, 19 Oct 2007 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/10/19/154092.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/154092.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/10/19/154092.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/154092.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/154092.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 稳定多了，感觉速度也快了点，准备迁移过来 了&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/10/19/154092.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/154092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-10-19 09:53 <a href="http://www.blogjava.net/vip01/archive/2007/10/19/154092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FormatSqlResult2.0 增加对中文和和空列的识别</title><link>http://www.blogjava.net/vip01/archive/2007/08/10/135725.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Fri, 10 Aug 2007 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/08/10/135725.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/135725.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/08/10/135725.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/135725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/135725.html</trackback:ping><description><![CDATA[应朋友要求，写了一个小工具,主要就是实现下面的要求：<br /><img height="1000" alt="FormatSqlResult.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/FormatSqlResult.jpg" width="698" border="0" /><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"><span style="COLOR: #008080">  1</span> <span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.LinkedList;<br /></span><span style="COLOR: #008080">  2</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">  3</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.SWT;<br /></span><span style="COLOR: #008080">  4</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.events.KeyAdapter;<br /></span><span style="COLOR: #008080">  5</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.events.KeyEvent;<br /></span><span style="COLOR: #008080">  6</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.events.SelectionAdapter;<br /></span><span style="COLOR: #008080">  7</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.events.SelectionEvent;<br /></span><span style="COLOR: #008080">  8</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.layout.FormAttachment;<br /></span><span style="COLOR: #008080">  9</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.layout.FormData;<br /></span><span style="COLOR: #008080"> 10</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.layout.FormLayout;<br /></span><span style="COLOR: #008080"> 11</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Button;<br /></span><span style="COLOR: #008080"> 12</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Display;<br /></span><span style="COLOR: #008080"> 13</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Label;<br /></span><span style="COLOR: #008080"> 14</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Shell;<br /></span><span style="COLOR: #008080"> 15</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Text;<br /></span><span style="COLOR: #008080"> 16</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 17</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> FormatSqlResult {<br /></span><span style="COLOR: #008080"> 18</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 19</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Text text;<br /></span><span style="COLOR: #008080"> 20</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 21</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000"> Shell shell;<br /></span><span style="COLOR: #008080"> 22</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 23</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 24</span> <span style="COLOR: #008000">     * Launch the application<br /></span><span style="COLOR: #008080"> 25</span> <span style="COLOR: #008000">     * <br /></span><span style="COLOR: #008080"> 26</span> <span style="COLOR: #008000">     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> args<br /></span><span style="COLOR: #008080"> 27</span> <span style="COLOR: #008000">     </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 28</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args) {<br /></span><span style="COLOR: #008080"> 29</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080"> 30</span> <span style="COLOR: #000000">            FormatSqlResult window </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormatSqlResult();<br /></span><span style="COLOR: #008080"> 31</span> <span style="COLOR: #000000">            window.open();<br /></span><span style="COLOR: #008080"> 32</span> <span style="COLOR: #000000">        } </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (Exception e) {<br /></span><span style="COLOR: #008080"> 33</span> <span style="COLOR: #000000">            e.printStackTrace();<br /></span><span style="COLOR: #008080"> 34</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080"> 35</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080"> 36</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 37</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 38</span> <span style="COLOR: #008000">     * Open the window<br /></span><span style="COLOR: #008080"> 39</span> <span style="COLOR: #008000">     </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 40</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> open() {<br /></span><span style="COLOR: #008080"> 41</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Display display </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Display.getDefault();<br /></span><span style="COLOR: #008080"> 42</span> <span style="COLOR: #000000">        createContents();<br /></span><span style="COLOR: #008080"> 43</span> <span style="COLOR: #000000">        shell.open();<br /></span><span style="COLOR: #008080"> 44</span> <span style="COLOR: #000000">        shell.layout();<br /></span><span style="COLOR: #008080"> 45</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">shell.isDisposed()) {<br /></span><span style="COLOR: #008080"> 46</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">display.readAndDispatch())<br /></span><span style="COLOR: #008080"> 47</span> <span style="COLOR: #000000">                display.sleep();<br /></span><span style="COLOR: #008080"> 48</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080"> 49</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080"> 50</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 51</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 52</span> <span style="COLOR: #008000">     * Create contents of the window<br /></span><span style="COLOR: #008080"> 53</span> <span style="COLOR: #008000">     </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 54</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> createContents() {<br /></span><span style="COLOR: #008080"> 55</span> <span style="COLOR: #000000">        shell </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Shell();<br /></span><span style="COLOR: #008080"> 56</span> <span style="COLOR: #000000">        shell.setLayout(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormLayout());<br /></span><span style="COLOR: #008080"> 57</span> <span style="COLOR: #000000">        shell.setSize(</span><span style="COLOR: #000000">631</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">414</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 58</span> <span style="COLOR: #000000">        shell.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">FormatSqlResult</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 59</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 60</span> <span style="COLOR: #000000">        text </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Text(shell, SWT.V_SCROLL </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> SWT.MULTI </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> SWT.H_SCROLL </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> SWT.BORDER);<br /></span><span style="COLOR: #008080"> 61</span> <span style="COLOR: #000000">        text.addKeyListener(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> KeyAdapter() {<br /></span><span style="COLOR: #008080"> 62</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> keyPressed(KeyEvent e) {<br /></span><span style="COLOR: #008080"> 63</span> <span style="COLOR: #000000">                System.out.println(e.keyCode);<br /></span><span style="COLOR: #008080"> 64</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080"> 65</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080"> 66</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_text </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080"> 67</span> <span style="COLOR: #000000">        fd_text.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">34</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 68</span> <span style="COLOR: #000000">        fd_text.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 69</span> <span style="COLOR: #000000">        fd_text.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 70</span> <span style="COLOR: #000000">        fd_text.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 71</span> <span style="COLOR: #000000">        text.setLayoutData(fd_text);<br /></span><span style="COLOR: #008080"> 72</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Button formatButton </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Button(shell, SWT.NONE);<br /></span><span style="COLOR: #008080"> 73</span> <span style="COLOR: #000000">        formatButton.addSelectionListener(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> SelectionAdapter() {<br /></span><span style="COLOR: #008080"> 74</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> widgetSelected(SelectionEvent e) {<br /></span><span style="COLOR: #008080"> 75</span> <span style="COLOR: #000000">                String str </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> text.getText();<br /></span><span style="COLOR: #008080"> 76</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (str </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> str.length() </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080"> 77</span> <span style="COLOR: #000000">                    text.setText(getSpaceText(str.replaceAll(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\r</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">)));<br /></span><span style="COLOR: #008080"> 78</span> <span style="COLOR: #000000">                    text.selectAll();<br /></span><span style="COLOR: #008080"> 79</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080"> 80</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 81</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080"> 82</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080"> 83</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_formatButton </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080"> 84</span> <span style="COLOR: #000000">        fd_formatButton.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">286</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 85</span> <span style="COLOR: #000000">        fd_formatButton.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">287</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 86</span> <span style="COLOR: #000000">        fd_formatButton.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 87</span> <span style="COLOR: #000000">        fd_formatButton.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 88</span> <span style="COLOR: #000000">        formatButton.setLayoutData(fd_formatButton);<br /></span><span style="COLOR: #008080"> 89</span> <span style="COLOR: #000000">        formatButton.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Format</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 90</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 91</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Label label </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Label(shell, SWT.NONE);<br /></span><span style="COLOR: #008080"> 92</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_label </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080"> 93</span> <span style="COLOR: #000000">        fd_label.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">19</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 94</span> <span style="COLOR: #000000">        fd_label.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">130</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 95</span> <span style="COLOR: #000000">        fd_label.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 96</span> <span style="COLOR: #000000">        fd_label.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 97</span> <span style="COLOR: #000000">        label.setLayoutData(fd_label);<br /></span><span style="COLOR: #008080"> 98</span> <span style="COLOR: #000000">        label.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">版权所有：交口称赞</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 99</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">100</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Label formatsqlresult10Label </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Label(shell, SWT.NONE);<br /></span><span style="COLOR: #008080">101</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_formatsqlresult10Label </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080">102</span> <span style="COLOR: #000000">        fd_formatsqlresult10Label.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">19</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">103</span> <span style="COLOR: #000000">        fd_formatsqlresult10Label.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">104</span> <span style="COLOR: #000000">        fd_formatsqlresult10Label.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">105</span> <span style="COLOR: #000000">        fd_formatsqlresult10Label.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">106</span> <span style="COLOR: #000000">        formatsqlresult10Label.setLayoutData(fd_formatsqlresult10Label);<br /></span><span style="COLOR: #008080">107</span> <span style="COLOR: #000000">        formatsqlresult10Label.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">FormatSqlResult version 2.0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">108</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">109</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Button button </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Button(shell, SWT.NONE);<br /></span><span style="COLOR: #008080">110</span> <span style="COLOR: #000000">        button.addSelectionListener(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> SelectionAdapter() {<br /></span><span style="COLOR: #008080">111</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> widgetSelected(SelectionEvent e) {<br /></span><span style="COLOR: #008080">112</span> <span style="COLOR: #000000">                text.selectAll();<br /></span><span style="COLOR: #008080">113</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">114</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080">115</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_button </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080">116</span> <span style="COLOR: #000000">        fd_button.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(formatButton, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">22</span><span style="COLOR: #000000">, SWT.BOTTOM);<br /></span><span style="COLOR: #008080">117</span> <span style="COLOR: #000000">        fd_button.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(formatButton, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, SWT.BOTTOM);<br /></span><span style="COLOR: #008080">118</span> <span style="COLOR: #000000">        fd_button.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">239</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">119</span> <span style="COLOR: #000000">        fd_button.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">275</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">120</span> <span style="COLOR: #000000">        button.setLayoutData(fd_button);<br /></span><span style="COLOR: #008080">121</span> <span style="COLOR: #000000">        button.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">全选</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">122</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">123</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Button button_1 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Button(shell, SWT.NONE);<br /></span><span style="COLOR: #008080">124</span> <span style="COLOR: #000000">        button_1.addSelectionListener(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> SelectionAdapter() {<br /></span><span style="COLOR: #008080">125</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> widgetSelected(SelectionEvent e) {<br /></span><span style="COLOR: #008080">126</span> <span style="COLOR: #000000">                text.setText(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">127</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">128</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080">129</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> FormData fd_button_1 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormData();<br /></span><span style="COLOR: #008080">130</span> <span style="COLOR: #000000">        fd_button_1.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(formatButton, </span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">, SWT.DEFAULT);<br /></span><span style="COLOR: #008080">131</span> <span style="COLOR: #000000">        fd_button_1.right </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">242</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">132</span> <span style="COLOR: #000000">        fd_button_1.bottom </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">133</span> <span style="COLOR: #000000">        fd_button_1.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FormAttachment(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">134</span> <span style="COLOR: #000000">        button_1.setLayoutData(fd_button_1);<br /></span><span style="COLOR: #008080">135</span> <span style="COLOR: #000000">        button_1.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">清空</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">136</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">137</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">138</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getSpaceText(String allStr) {<br /></span><span style="COLOR: #008080">139</span> <span style="COLOR: #000000">        String[] strs </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> allStr.split(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">140</span> <span style="COLOR: #000000">        String lineStr;<br /></span><span style="COLOR: #008080">141</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">142</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (strs </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> strs.length </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">143</span> <span style="COLOR: #000000">            lineStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> strs[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br /></span><span style="COLOR: #008080">144</span> <span style="COLOR: #000000">            String[] lineStrs </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> lineStr.split(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\t</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">145</span> <span style="COLOR: #000000">            row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> lineStrs.length;<br /></span><span style="COLOR: #008080">146</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">147</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[] max </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[row];<br /></span><span style="COLOR: #008080">148</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> max.length; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">149</span> <span style="COLOR: #000000">            max[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">150</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">151</span> <span style="COLOR: #000000">        LinkedList all </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> LinkedList();<br /></span><span style="COLOR: #008080">152</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> row; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">153</span> <span style="COLOR: #000000">            LinkedList list </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> LinkedList();<br /></span><span style="COLOR: #008080">154</span> <span style="COLOR: #000000">            all.add(list);<br /></span><span style="COLOR: #008080">155</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">156</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> strs.length; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">157</span> <span style="COLOR: #000000">            lineStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> strs[i];<br /></span><span style="COLOR: #008080">158</span> <span style="COLOR: #000000">            String[] lineStrs </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> lineStr.split(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\t</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">159</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> length </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">160</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> row; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">161</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> lineStrs.length) {<br /></span><span style="COLOR: #008080">162</span> <span style="COLOR: #000000">                    length </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> lineStrs[j].getBytes().length;<br /></span><span style="COLOR: #008080">163</span> <span style="COLOR: #000000">                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (length </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> max[j]) {<br /></span><span style="COLOR: #008080">164</span> <span style="COLOR: #000000">                        max[j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> length;<br /></span><span style="COLOR: #008080">165</span> <span style="COLOR: #000000">                    }<br /></span><span style="COLOR: #008080">166</span> <span style="COLOR: #000000">                    ((LinkedList) all.get(j)).add(lineStrs[j]);<br /></span><span style="COLOR: #008080">167</span> <span style="COLOR: #000000">                } </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080">168</span> <span style="COLOR: #000000">                    ((LinkedList) all.get(j)).add(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">169</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">170</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">171</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">172</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">173</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">174</span> <span style="COLOR: #000000">        StringBuffer sb </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> StringBuffer();<br /></span><span style="COLOR: #008080">175</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> line </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ((LinkedList) all.get(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)).size();<br /></span><span style="COLOR: #008080">176</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> line; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">177</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> all.size(); j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">178</span> <span style="COLOR: #000000">                String str </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (String) ((LinkedList) all.get(j)).get(i);<br /></span><span style="COLOR: #008080">179</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> length </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> max[j] </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> str.getBytes().length </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">180</span> <span style="COLOR: #000000">                sb.append(str);<br /></span><span style="COLOR: #008080">181</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; k </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> length; k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">182</span> <span style="COLOR: #000000">                    sb.append(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">183</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">184</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">185</span> <span style="COLOR: #000000">            sb.append(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">186</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">187</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> sb.toString();<br /></span><span style="COLOR: #008080">188</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">189</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">190</span> <span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">191</span> <span style="COLOR: #000000"></span></div><br />已制作成exe，可以双击执行，只支持Windows，为了兼容jdk版本，没敢用泛型。 
<p>下载：<a href="/Files/vip01/FormatSqlResult2.rar"><font color="#002c99">FormatSqlResult2.rar</font></a></p><img src ="http://www.blogjava.net/vip01/aggbug/135725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-08-10 09:55 <a href="http://www.blogjava.net/vip01/archive/2007/08/10/135725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FormatSqlResult--SQL查询结果，格式化工具，已作成exe，付源码</title><link>http://www.blogjava.net/vip01/archive/2007/08/09/135420.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Thu, 09 Aug 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/08/09/135420.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/135420.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/08/09/135420.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/135420.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/135420.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 应朋友要求，写了一个小工具&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/08/09/135420.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/135420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-08-09 11:02 <a href="http://www.blogjava.net/vip01/archive/2007/08/09/135420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse插件easytools3.1.0新增获取选择文件相对路径列表</title><link>http://www.blogjava.net/vip01/archive/2007/07/16/130586.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 16 Jul 2007 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/07/16/130586.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/130586.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/07/16/130586.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/130586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/130586.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 新增获取选择文件相对路径列表&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/07/16/130586.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/130586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-07-16 15:22 <a href="http://www.blogjava.net/vip01/archive/2007/07/16/130586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>彻底解决SWT运行出错(2)修改系统环境变量</title><link>http://www.blogjava.net/vip01/archive/2007/04/19/111856.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Thu, 19 Apr 2007 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/04/19/111856.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/111856.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/04/19/111856.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/111856.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/111856.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 到项目目录，运行java BasicSwt<br><br>ok，正常运行了，不用那么长的命令行了&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/04/19/111856.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/111856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-04-19 10:20 <a href="http://www.blogjava.net/vip01/archive/2007/04/19/111856.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>彻底解决SWT运行出错(1)命令行方式</title><link>http://www.blogjava.net/vip01/archive/2007/04/19/111853.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Thu, 19 Apr 2007 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/04/19/111853.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/111853.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/04/19/111853.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/111853.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/111853.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ok，正常啦。。。。。。。。。。。。。。。。。。。。。&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/04/19/111853.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/111853.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-04-19 10:07 <a href="http://www.blogjava.net/vip01/archive/2007/04/19/111853.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT Designer全版本注册文件生成器，注册机</title><link>http://www.blogjava.net/vip01/archive/2007/04/18/111476.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Wed, 18 Apr 2007 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/04/18/111476.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/111476.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/04/18/111476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/111476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/111476.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 运行CMD<br>执行：ipconfig /all<br>找到：<br> 物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00<br>这行，记住你的值<br><br>然后执行keygeno.jar<br>填入你的名字<br>填入你的MAC地址<br><br>点击generate<br>看到License file "Instantiations.license" created<br>并且在当前目录下已经生成了Instantiations.license文件<br>把这个文件Documents and Settings\you rname下面<br>VISTA下拷贝到Users\you rname下面<br><br>OK了。&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/04/18/111476.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/111476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-04-18 08:55 <a href="http://www.blogjava.net/vip01/archive/2007/04/18/111476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse插件：opencmd(直接开命令行工具到选择文件、文件夹、JAR包)跨平台</title><link>http://www.blogjava.net/vip01/archive/2007/02/01/97171.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Thu, 01 Feb 2007 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/02/01/97171.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/97171.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/02/01/97171.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/97171.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/97171.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: eclipse插件：openecmd<br><br>选中文件，点击“open cmd”<br>会打开命令行工具，并定位路径到选择的文件、文件夹、JAR包<br>跨平台经测试windows、FC6下可用<br>其它平台应该都没问题<br><br>您可以根据自己的平台和桌面在ECLIPSE设置里面修改命令行<br><br><br>eclipse3.2.1<br>wtp1.5.2<br>myeclipse5.1<br>测试通过<br>下载地址<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/02/01/97171.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/97171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-02-01 11:35 <a href="http://www.blogjava.net/vip01/archive/2007/02/01/97171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse插件：openexplorer(直接用资源管理器打开选择文件、文件夹、JAR包)跨平台</title><link>http://www.blogjava.net/vip01/archive/2007/01/31/97000.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Wed, 31 Jan 2007 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/01/31/97000.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/97000.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/01/31/97000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/97000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/97000.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 选中文件，点击“open folder”<br>会直接调用系统默认资源浏览器打开选择的文件、文件夹、JAR包<br>跨平台经测试windows、linux下可用<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/01/31/97000.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/97000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-01-31 16:18 <a href="http://www.blogjava.net/vip01/archive/2007/01/31/97000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CheckStyle、JDepend的eclipse插件下载（包含原版）</title><link>http://www.blogjava.net/vip01/archive/2007/01/30/96708.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Tue, 30 Jan 2007 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/01/30/96708.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/96708.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/01/30/96708.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/96708.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/96708.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: CheckStyle、JDepend的eclipse插件下载（包含原版）&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/01/30/96708.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/96708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-01-30 13:26 <a href="http://www.blogjava.net/vip01/archive/2007/01/30/96708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反射妙用：超强通用年月日树</title><link>http://www.blogjava.net/vip01/archive/2007/01/09/92520.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Tue, 09 Jan 2007 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2007/01/09/92520.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/92520.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2007/01/09/92520.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/92520.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/92520.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  在实际项目中，大家都要都有很多需要通过日期进行管理的数据，比如单据，考勤，日志等等。。。    这些数据对象都有一个共同的特点就是有一个字段是日期型。<br>     于是我就利用JAVA的反射机制，写了一个通用年月日树。&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2007/01/09/92520.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/92520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2007-01-09 10:04 <a href="http://www.blogjava.net/vip01/archive/2007/01/09/92520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>07年第一贴：eclipse系统托盘插件EaseTray2.0.0</title><link>http://www.blogjava.net/vip01/archive/2006/12/31/91219.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Sun, 31 Dec 2006 12:01:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/31/91219.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/91219.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/31/91219.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/91219.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/91219.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: EaseTray2.0.0，提供最小化到系统托盘、关闭到系统托盘的功能。<br>工具栏按钮切换状态。<br>支持中英文。<br>最重要的是终于实现了启动时自动加载。&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2006/12/31/91219.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/91219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-31 20:01 <a href="http://www.blogjava.net/vip01/archive/2006/12/31/91219.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让eclipse启动时执行指定的程序</title><link>http://www.blogjava.net/vip01/archive/2006/12/31/91156.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Sun, 31 Dec 2006 06:38:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/31/91156.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/91156.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/31/91156.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/91156.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/91156.html</trackback:ping><description><![CDATA[为了让偶写的<a class="titlelink" id="Editor_Results_rprSelectionList_ctl06_Hyperlink1" href="/vip01/archive/2006/12/28/90524.html"><font color="#000000">eclipse系统托盘插件EaseTray1.0</font></a>插件能在eclipse启动时加载，泡了半天书店，在于找到了怎么让eclipse启动时执行指定的程序，离解决问题又近了一步。现在和大家分享下收获。<br /><br />新建一个插件项目，增加一个org.eclipse.ui.startup扩展点，<img height="124" alt="2006123101.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/2006123101.jpg" width="781" border="0" /><br />指向直接写的test.EasyStartup类<br />EasyStartup：<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"><span style="COLOR: #008080"> 1</span> <span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> test;<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.Display;<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.ui.IStartup;<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> EasyStartup </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> IStartup {<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> earlyStartup() {<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">        Display.getDefault().syncExec(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Runnable() {<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> run() {<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">                System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello start</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000">}</span></div>作为插件运行，控制台会输出：<br />hello start<br /><br />呵呵，小小的成功。<br />但是我还是无法获取IWorkbenchWindow对象。。。。。。。。<br />这样我的插件还是不能启动时强制加载并初始化。。。。。。。。<br />谁知道怎么获取IWorkbenchWindow！？<br /><img src ="http://www.blogjava.net/vip01/aggbug/91156.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-31 14:38 <a href="http://www.blogjava.net/vip01/archive/2006/12/31/91156.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（七）日期</title><link>http://www.blogjava.net/vip01/archive/2006/12/29/90688.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Fri, 29 Dec 2006 03:26:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/29/90688.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90688.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/29/90688.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90688.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90688.html</trackback:ping><description><![CDATA[ 日期的要求要简单一点，<br />1：支持动态布局。<br />2：支持任意星期开始，不同的星期开始值会影响日期开始的行列位置。<br />整体效果请看上一篇文章<br /><a href="http://blog.csdn.net/vip01/archive/2006/11/28/1418118.aspx">打造完美SWT日期选择控件：（六）星期</a>的截图。<br />3：能监听到用户双击事件。并处理。<br />关键代码如下<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,0)">    </span><span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> setDays() {<br />        clearDays();<br />        Calendar cal </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> (Calendar) basicCalendar.clone();<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> today </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> cal.get(Calendar.DAY_OF_MONTH);<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> thisMonth </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> cal.get(Calendar.MONTH);<br /><br />        cal.set(Calendar.DAY_OF_MONTH, </span><span style="COLOR: rgb(0,0,0)">1</span><span style="COLOR: rgb(0,0,0)">);<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> week </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> cal.get(Calendar.DAY_OF_WEEK);<br />        week </span><span style="COLOR: rgb(0,0,0)">-=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">this</span><span style="COLOR: rgb(0,0,0)">.firstDayOfWeek;<br />        </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> week; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> days.length; cal.add(Calendar.DAY_OF_MONTH, </span><span style="COLOR: rgb(0,0,0)">1</span><span style="COLOR: rgb(0,0,0)">)) {<br />            Label label </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> days[i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">];<br />            </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> day </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> cal.get(Calendar.DAY_OF_MONTH);<br />            </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> month </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> cal.get(Calendar.MONTH);<br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (month </span><span style="COLOR: rgb(0,0,0)">==</span><span style="COLOR: rgb(0,0,0)"> thisMonth) {<br />                </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (day </span><span style="COLOR: rgb(0,0,0)">==</span><span style="COLOR: rgb(0,0,0)"> today) {<br />                    label.setForeground(getDisplay().getSystemColor(SWT.COLOR_DARK_RED));<br />                }<br />                label.setText(Integer.toString(cal.get(Calendar.DAY_OF_MONTH)));<br />                label.setData(label.getText());<br />                label.addListener(SWT.MouseDoubleClick, </span><span style="COLOR: rgb(0,0,255)">this</span><span style="COLOR: rgb(0,0,0)">);<br />            } </span><span style="COLOR: rgb(0,0,255)">else</span><span style="COLOR: rgb(0,0,0)"> {<br />                </span><span style="COLOR: rgb(0,0,255)">return</span><span style="COLOR: rgb(0,0,0)">;<br />            }<br /><br />        }<br />    }</span></div></div><br /><img src ="http://www.blogjava.net/vip01/aggbug/90688.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-29 11:26 <a href="http://www.blogjava.net/vip01/archive/2006/12/29/90688.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（六）星期</title><link>http://www.blogjava.net/vip01/archive/2006/12/29/90687.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Fri, 29 Dec 2006 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/29/90687.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90687.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/29/90687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90687.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90687.html</trackback:ping><description><![CDATA[ 对星期这块的要求无非是以下几个点：<br />1：支持多语言。<br />2：支持动态布局。<br />3：支持任意星期开始。这个解释一下，比如有的国家一个星期的开始是星期一有的是星期日，也有可能是星期X。<br />老规矩上图，看图说话：<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1017.jpg" />中文环境，星期日为星期开始。<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1016.jpg" />中文环境，星期二为星期开始。<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1018.jpg" />英文环境，星期日为星期开始。<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1019.jpg" />日文环境，星期日为星期开始。<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1020.jpg" /><br />自动适应布局的效果。总体思想是用GridLayout布局。一行七列。为了看得清楚，特意加了BORDER效果。<br /><br /><br /><br /> 以下是关键代码：<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> initDayTitle() {<br /><br />        dayTitles </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Label[</span><span style="COLOR: rgb(0,0,0)">7</span><span style="COLOR: rgb(0,0,0)">];<br />        </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> dayTitles.length; i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">) {<br />            </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> Label label </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Label(dayTitle, SWT.CENTER);<br />            label.setLayoutData(</span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> GridData(SWT.FILL, SWT.CENTER, </span><span style="COLOR: rgb(0,0,255)">true</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,255)">true</span><span style="COLOR: rgb(0,0,0)">));<br />            dayTitles[i] </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> label;<br />        }<br /><br />        DateFormatSymbols dateFormatSymbols </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> DateFormatSymbols(locale);<br />        String[] dayNames </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dateFormatSymbols.getShortWeekdays();<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> minLength </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> Integer.MAX_VALUE;<br />        </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> dayNames.length; i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">) {<br />            </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> len </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dayNames[i].length();<br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (len </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">&amp;&amp;</span><span style="COLOR: rgb(0,0,0)"> len </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> minLength) {<br />                minLength </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> len;<br />            }<br />        }<br />        </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (minLength </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">2</span><span style="COLOR: rgb(0,0,0)">) {<br />            </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> dayNames.length; i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">) {<br />                </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (dayNames[i].length() </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">) {<br />                    </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (locale.equals(Locale.CHINA)) {<br />                        </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (dayNames[i].length() </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">2</span><span style="COLOR: rgb(0,0,0)">) {<br />                            dayNames[i] </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dayNames[i].substring(</span><span style="COLOR: rgb(0,0,0)">2</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">3</span><span style="COLOR: rgb(0,0,0)">);<br />                        }<br />                    } </span><span style="COLOR: rgb(0,0,255)">else</span><span style="COLOR: rgb(0,0,0)"> {<br />                        </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (dayNames[i].length() </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">) {<br />                            dayNames[i] </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dayNames[i].substring(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">3</span><span style="COLOR: rgb(0,0,0)">);<br />                        }<br />                    }<br />                }<br />            }<br />        }<br />        firstDayOfWeek </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> basicCalendar.getFirstDayOfWeek();<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> d </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> firstDayOfWeek;<br />        </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> dayTitles.length; i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">) {<br />            Label labelt </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dayTitles[i];<br />            labelt.setText(dayNames[d]);<br />            labelt.setBackground(getBackground());<br /><br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (d </span><span style="COLOR: rgb(0,0,0)">==</span><span style="COLOR: rgb(0,0,0)"> Calendar.SUNDAY) {<br />                labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_RED));<br />            } </span><span style="COLOR: rgb(0,0,255)">else</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (d </span><span style="COLOR: rgb(0,0,0)">==</span><span style="COLOR: rgb(0,0,0)"> Calendar.SATURDAY) {<br />                labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));<br />            } </span><span style="COLOR: rgb(0,0,255)">else</span><span style="COLOR: rgb(0,0,0)"> {<br />                labelt.setForeground(getForeground());<br />            }<br /><br />            d</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">;<br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (d </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> dayTitles.length) {<br />                d </span><span style="COLOR: rgb(0,0,0)">-=</span><span style="COLOR: rgb(0,0,0)"> dayTitles.length;<br />            }<br />        }<br /><br />    }<br /></span></div></div><br /><img src ="http://www.blogjava.net/vip01/aggbug/90687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-29 11:25 <a href="http://www.blogjava.net/vip01/archive/2006/12/29/90687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse系统托盘插件EaseTray1.0，最小化eclipse到托盘，关闭eclipse到托盘</title><link>http://www.blogjava.net/vip01/archive/2006/12/28/90524.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Thu, 28 Dec 2006 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/28/90524.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90524.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/28/90524.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90524.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90524.html</trackback:ping><description><![CDATA[eclipse系统托盘插件1.0，放在eclipse安装目录的plugins下。重启eclipse带clean参数。<br />安装成功后会在工具栏出现一个按钮<img height="30" alt="snap200604.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/snap200604.jpg" width="98" border="0" />，每次点击会在生效、失效之间切换<img height="34" alt="snap200605.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/snap200605.jpg" width="89" border="0" />切换到生效状态以后，会在系统托盘出现eclipse的图标，<img height="36" alt="snap200606.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/snap200606.jpg" width="70" border="0" />。此时最小化eclipse会最小化的系统托盘，任务栏不显示。关闭时，最小化到系统托盘。<br /><br />插件生效后可以通过托盘图标的菜单退出<img height="72" alt="snap200607.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/snap200607.jpg" width="420" border="0" />，失效后可以直接点关闭按钮退出。<br /><br /><img height="245" alt="snap200608.jpg" src="http://www.blogjava.net/images/blogjava_net/vip01/snap200608.jpg" width="522" border="0" /><br /><hr /><a href="/Files/vip01/EaseTray_1.0.0.200612281626.zip"><font color="#002c99">EaseTray_1.0.0.200612281626.zip</font></a><img src ="http://www.blogjava.net/vip01/aggbug/90524.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-28 16:40 <a href="http://www.blogjava.net/vip01/archive/2006/12/28/90524.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（四）下拉列表的整体设计 </title><link>http://www.blogjava.net/vip01/archive/2006/12/27/90384.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Wed, 27 Dec 2006 13:52:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/27/90384.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90384.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/27/90384.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90384.html</trackback:ping><description><![CDATA[ 对于下拉列表我把他分为三部分：<br /><ol><li>年月控制栏 
</li><li>星期栏 
</li><li>日期栏 </li></ol><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1006.jpg" /><br />整个界面层次结构如图：<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1007.jpg" /><br /><img src ="http://www.blogjava.net/vip01/aggbug/90384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-27 21:52 <a href="http://www.blogjava.net/vip01/archive/2006/12/27/90384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（五）控制年月 </title><link>http://www.blogjava.net/vip01/archive/2006/12/27/90385.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Wed, 27 Dec 2006 13:52:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/27/90385.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90385.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/27/90385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90385.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90385.html</trackback:ping><description><![CDATA[   <img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1010.jpg" /><br />年月控制这部分分为控制按钮，月下拉列表和年Spinner（翻译为微调控制器。。。。。。。）。控制按钮没什么好说的，无非就是控制加一减一，注意边界循环就可以了。<br />Spinner的用法很简单，看下代码：<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="COLOR: rgb(0,0,0)">    yearChooser </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Spinner(yearMonthChooser, SWT.READ_ONLY </span><span style="COLOR: rgb(0,0,0)">|</span><span style="COLOR: rgb(0,0,0)"> SWT.BORDER);<br />//初始化，只读，带边框<br /><img id="_132_558_Open_Image" onclick="this.style.display='none'; document.getElementById('_132_558_Open_Text').style.display='none'; document.getElementById('_132_558_Closed_Image').style.display='inline'; document.getElementById('_132_558_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_132_558_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_132_558_Closed_Text').style.display='none'; document.getElementById('_132_558_Open_Image').style.display='inline'; document.getElementById('_132_558_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />        yearChooser.addSelectionListener(</span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> SelectionAdapter() </span><span id="_132_558_Closed_Text" style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; DISPLAY: none; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid; BACKGROUND-COLOR: rgb(255,255,255)">...</span><span id="_132_558_Open_Text"><span style="COLOR: rgb(0,0,0)">{<br /><img id="_182_554_Open_Image" onclick="this.style.display='none'; document.getElementById('_182_554_Open_Text').style.display='none'; document.getElementById('_182_554_Closed_Image').style.display='inline'; document.getElementById('_182_554_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="_182_554_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_182_554_Closed_Text').style.display='none'; document.getElementById('_182_554_Open_Image').style.display='inline'; document.getElementById('_182_554_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> widgetSelected(SelectionEvent e) </span><span id="_182_554_Closed_Text" style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; DISPLAY: none; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid; BACKGROUND-COLOR: rgb(255,255,255)">...</span><span id="_182_554_Open_Text"><span style="COLOR: rgb(0,0,0)">{<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> n </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> yearChooser.getSelection();<br /></span><span style="COLOR: rgb(0,128,0)"><span style="COLOR: rgb(0,128,0)"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: rgb(0,0,0)">                basicCalendar.set(Calendar.YEAR, n);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />                yearChooser.setSelection(n);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />                setDays();<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: rgb(0,0,0)"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: rgb(0,0,0)">);<br /></span><span style="COLOR: rgb(0,0,0)">//加上选择事件监听<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        yearChooser.setMaximum(</span><span style="COLOR: rgb(0,0,0)">3000</span><span style="COLOR: rgb(0,0,0)">);//设置上限<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        yearChooser.setMinimum(</span><span style="COLOR: rgb(0,0,0)">1899</span><span style="COLOR: rgb(0,0,0)">);//设置下限<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        yearChooser.setIncrement(</span><span style="COLOR: rgb(0,0,0)">1</span><span style="COLOR: rgb(0,0,0)">);//步进值<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        yearChooser.setPageIncrement(</span><span style="COLOR: rgb(0,0,0)">10</span><span style="COLOR: rgb(0,0,0)">);//这个是按下pageup和pagedown时的步进值<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        yearChooser.setSelection(basicCalendar.get(Calendar.YEAR));//选择当前年</span></span></div></div><br />月的下拉列表看似简单实则不然，因为我们要考虑国际化的问题。<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1013.jpg" /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1014.jpg" /><br />以上是中文环境和英文环境下的测试效果。关键点是：月的信息从Locale中取。以下是关键代码：<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> initMonth() {<br />        DateFormatSymbols dateFormatSymbols </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> DateFormatSymbols(locale);<br />        String[] monthNames </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> dateFormatSymbols.getMonths();<br />        </span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> month </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> monthChooser.getSelectionIndex();<br />        </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (monthChooser.getItemCount() </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">) {<br />            monthChooser.removeAll();<br />        }<br /><br />        </span><span style="COLOR: rgb(0,0,255)">for</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> i </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">; i </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> monthNames.length; i</span><span style="COLOR: rgb(0,0,0)">++</span><span style="COLOR: rgb(0,0,0)">) {<br />            String name </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> monthNames[i];<br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (name.length() </span><span style="COLOR: rgb(0,0,0)">&gt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">) {<br />                monthChooser.add(name);<br />            }<br /><br />        }<br /><br />        </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (month </span><span style="COLOR: rgb(0,0,0)">&lt;</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">) {<br />            month </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">;<br />        } </span><span style="COLOR: rgb(0,0,255)">else</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (month </span><span style="COLOR: rgb(0,0,0)">&gt;=</span><span style="COLOR: rgb(0,0,0)"> monthChooser.getItemCount()) {<br />            month </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> monthChooser.getItemCount() </span><span style="COLOR: rgb(0,0,0)">-</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">1</span><span style="COLOR: rgb(0,0,0)">;<br />        }<br />        monthChooser.select(month);<br />    }</span></div></div><br /><br /> <br /><img src ="http://www.blogjava.net/vip01/aggbug/90385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-27 21:52 <a href="http://www.blogjava.net/vip01/archive/2006/12/27/90385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>强！简洁！SWT实现任务栏图标（系统托盘），带菜单和ToolTip</title><link>http://www.blogjava.net/vip01/archive/2006/12/26/90127.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Tue, 26 Dec 2006 07:47:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/26/90127.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90127.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/26/90127.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90127.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90127.html</trackback:ping><description><![CDATA[
		<p>看到有位朋友在偶“<a class="singleposttitle" id="viewpost1_TitleUrl" href="/vip01/archive/2006/12/25/89875.html">为RCP程序增加关闭提示和关闭到系统托盘</a>”的文章里面的留言，忍不住把自己以前N老的一篇帖子扒出来了。<br />此文可能是当初最早最完善的SWT实现任务栏图标，带菜单、带ToolTip的完整的例子。<br />期间还有CSDN会员GhostValley;pdvv的指教。<br /><br /><br /></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">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000">import org.eclipse.swt.SWT;<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">import org.eclipse.swt.events.ShellListener;<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000">import org.eclipse.swt.graphics.Image;<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000">import org.eclipse.swt.internal.win32.OS;<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Display;<br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Event;<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Listener;<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Menu;<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.MenuItem;<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Shell;<br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.Tray;<br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000">import org.eclipse.swt.widgets.TrayItem;<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000">public class MyTray {<br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000">    public static </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args) {<br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">        Display display </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Display();<br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">        Shell shell </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Shell(display);<br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000">        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 下面两句的效果是：在任务栏不显示</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 感谢CSDN会员：GhostValley(鬼谷)</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">        final </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> hWnd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> shell.handle;<br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #000000">        OS.SetWindowLong(hWnd, OS.GWL_EXSTYLE, OS.WS_EX_CAPTIONOKBTN);<br /></span><span style="COLOR: #008080">22</span> <span style="COLOR: #000000">        Image image </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Image(display, </span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">23</span> <span style="COLOR: #000000">        final Tray tray </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> display.getSystemTray();<br /></span><span style="COLOR: #008080">24</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (tray </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">25</span> <span style="COLOR: #000000">            System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">The system tray is not available</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">26</span> <span style="COLOR: #000000">        } </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080">27</span> <span style="COLOR: #000000">            final TrayItem item </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TrayItem(tray, SWT.NONE);<br /></span><span style="COLOR: #008080">28</span> <span style="COLOR: #000000">            item.setToolTipText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SWT TrayItem</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">29</span> <span style="COLOR: #000000">            item.addListener(SWT.Show, </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Listener() {<br /></span><span style="COLOR: #008080">30</span> <span style="COLOR: #000000">                public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> handleEvent(Event event) {<br /></span><span style="COLOR: #008080">31</span> <span style="COLOR: #000000">                    System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">show</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">32</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">33</span> <span style="COLOR: #000000">            });<br /></span><span style="COLOR: #008080">34</span> <span style="COLOR: #000000">            item.addListener(SWT.Hide, </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Listener() {<br /></span><span style="COLOR: #008080">35</span> <span style="COLOR: #000000">                public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> handleEvent(Event event) {<br /></span><span style="COLOR: #008080">36</span> <span style="COLOR: #000000">                    System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hide</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">37</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">38</span> <span style="COLOR: #000000">            });<br /></span><span style="COLOR: #008080">39</span> <span style="COLOR: #000000">            item.addListener(SWT.Selection, </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Listener() {<br /></span><span style="COLOR: #008080">40</span> <span style="COLOR: #000000">                public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> handleEvent(Event event) {<br /></span><span style="COLOR: #008080">41</span> <span style="COLOR: #000000">                    System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">selection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">42</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">43</span> <span style="COLOR: #000000">            });<br /></span><span style="COLOR: #008080">44</span> <span style="COLOR: #000000">            item.addListener(SWT.DefaultSelection, </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Listener() {<br /></span><span style="COLOR: #008080">45</span> <span style="COLOR: #000000">                public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> handleEvent(Event event) {<br /></span><span style="COLOR: #008080">46</span> <span style="COLOR: #000000">                    System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">default selection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">47</span> <span style="COLOR: #000000">                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> show main</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">48</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">                    Shell s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> event.display.getShells()[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br /></span><span style="COLOR: #008080">49</span> <span style="COLOR: #000000">                    s.setVisible(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">50</span> <span style="COLOR: #000000">                    s.setMinimized(</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">51</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">52</span> <span style="COLOR: #000000">            });<br /></span><span style="COLOR: #008080">53</span> <span style="COLOR: #000000">            final Menu menu </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Menu(shell, SWT.POP_UP);<br /></span><span style="COLOR: #008080">54</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">55</span> <span style="COLOR: #000000">                MenuItem mi </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> MenuItem(menu, SWT.PUSH);<br /></span><span style="COLOR: #008080">56</span> <span style="COLOR: #000000">                mi.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Item</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> i);<br /></span><span style="COLOR: #008080">57</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">58</span> <span style="COLOR: #000000">            item.addListener(SWT.MenuDetect, </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Listener() {<br /></span><span style="COLOR: #008080">59</span> <span style="COLOR: #000000">                public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> handleEvent(Event event) {<br /></span><span style="COLOR: #008080">60</span> <span style="COLOR: #000000">                    menu.setVisible(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">61</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">62</span> <span style="COLOR: #000000">            });<br /></span><span style="COLOR: #008080">63</span> <span style="COLOR: #000000">            item.setImage(image);<br /></span><span style="COLOR: #008080">64</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">65</span> <span style="COLOR: #000000">        shell.addShellListener(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ShellListener() {<br /></span><span style="COLOR: #008080">66</span> <span style="COLOR: #000000">            public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> shellDeactivated(org.eclipse.swt.events.ShellEvent e) {<br /></span><span style="COLOR: #008080">67</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">68</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">69</span> <span style="COLOR: #000000">            public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> shellActivated(org.eclipse.swt.events.ShellEvent e) {<br /></span><span style="COLOR: #008080">70</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">71</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">72</span> <span style="COLOR: #000000">            public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> shellClosed(org.eclipse.swt.events.ShellEvent e) {<br /></span><span style="COLOR: #008080">73</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">74</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">75</span> <span style="COLOR: #000000">            public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> shellDeiconified(org.eclipse.swt.events.ShellEvent e) {<br /></span><span style="COLOR: #008080">76</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">77</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">78</span> <span style="COLOR: #000000">            public </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> shellIconified(org.eclipse.swt.events.ShellEvent e) {<br /></span><span style="COLOR: #008080">79</span> <span style="COLOR: #000000">                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 最小化时不显示在任务栏</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">80</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 感谢CSDN会员：pdvv(我爱花猫)</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">81</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">                ((Shell) e.getSource()).setVisible(</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">82</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">83</span> <span style="COLOR: #000000">        });<br /></span><span style="COLOR: #008080">84</span> <span style="COLOR: #000000">        shell.setBounds(</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">300</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">85</span> <span style="COLOR: #000000">        shell.open();<br /></span><span style="COLOR: #008080">86</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">shell.isDisposed()) {<br /></span><span style="COLOR: #008080">87</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">display.readAndDispatch())<br /></span><span style="COLOR: #008080">88</span> <span style="COLOR: #000000">                display.sleep();<br /></span><span style="COLOR: #008080">89</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">90</span> <span style="COLOR: #000000">        image.dispose();<br /></span><span style="COLOR: #008080">91</span> <span style="COLOR: #000000">        display.dispose();<br /></span><span style="COLOR: #008080">92</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">93</span> <span style="COLOR: #000000">}</span></div>
<img src ="http://www.blogjava.net/vip01/aggbug/90127.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-26 15:47 <a href="http://www.blogjava.net/vip01/archive/2006/12/26/90127.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取当前绝对路径</title><link>http://www.blogjava.net/vip01/archive/2006/12/26/90094.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Tue, 26 Dec 2006 06:00:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/26/90094.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90094.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/26/90094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90094.html</trackback:ping><description><![CDATA[
		<p>    这个也是以前写的一点东西，今天要用，又扒出来了。希望能给大家带来帮助：<br /></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">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> GetPath {<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args) {<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000">        GetPath test </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> GetPath();<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">        System.out.println(test.getPath());<br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getPath() {<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getClass().getResource(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).getPath();<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000"></span></div>
<img src ="http://www.blogjava.net/vip01/aggbug/90094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-26 14:00 <a href="http://www.blogjava.net/vip01/archive/2006/12/26/90094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（三）看上去像下拉列表</title><link>http://www.blogjava.net/vip01/archive/2006/12/26/90023.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Tue, 26 Dec 2006 01:13:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/26/90023.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/90023.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/26/90023.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/90023.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/90023.html</trackback:ping><description><![CDATA[
		<img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1004.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1004.jpg" />
		<br />    为了能像个下拉列表我们我们要让控制下拉的按钮使用本地下拉列表的样式。<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /><span style="COLOR: rgb(0,0,255)">int</span><span style="COLOR: rgb(0,0,0)"> arrowStyle </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> SWT.ARROW </span><span style="COLOR: rgb(0,0,0)">|</span><span style="COLOR: rgb(0,0,0)"> SWT.DOWN;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" />arrow </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Button(</span><span style="COLOR: rgb(0,0,255)">this</span><span style="COLOR: rgb(0,0,0)">, arrowStyle);</span></div></div>这样我们自己的下拉列表就能和本地的主题分格保持一致了。<img src ="http://www.blogjava.net/vip01/aggbug/90023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-26 09:13 <a href="http://www.blogjava.net/vip01/archive/2006/12/26/90023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（二）实现自适应大小</title><link>http://www.blogjava.net/vip01/archive/2006/12/25/89880.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 25 Dec 2006 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/25/89880.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/89880.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/25/89880.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/89880.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/89880.html</trackback:ping><description><![CDATA[    我们的日期控件有两大部分组成：控件主体和下拉列表。<span lang="EN-US"><span></span></span><span>要做成通用控件，控件主体必须要能自适应大小。<br />老规矩，上图：<br /><br />设计界面：<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1004.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1004.jpg" /><br /><br /><br />在其它容器中自由使用的效果图：<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1005.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1005.jpg" /><br /><br /><br /><br />那么怎么才能做到自写的控件能自适应大小呢？<span lang="EN-US">Composite</span>＋<span lang="EN-US">FormLayout</span>是实现这种效果的完美组合。通俗的说<span lang="EN-US">Composite</span>就是一个容器，里面能放各种其它控件，当然<span lang="EN-US">Composite</span>本身也能放到其它容器里面。<span lang="EN-US">FormLayout</span>是一种布局方式，精髓是“相对位置”。（ <span lang="EN-US"><a id="_46204f20c1b_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl01_TitleUrl" href="/vip01/archive/2006/12/25/89877.html">跟我学之用FormLayout打造自适应窗体大小的控件布局</a></span>）。<br />在</span><span><span lang="EN-US">Composite我们放置一个文本框和一个按钮。</span></span><br /><span><br />这里我们设置<br />文本框上边相对</span><span><span lang="EN-US">Composite上边，偏移量0。<br /></span></span><span>文本框左边相对</span><span><span lang="EN-US">Composite左边，偏移量0。<br /></span></span><span>文本框右边相对</span><span><span lang="EN-US">按钮，偏移量0。<br /></span></span><span>文本框下边相对</span><span><span lang="EN-US">Composite下边，偏移量0。</span></span><br /><span><br /><br /></span><span>按钮</span><span>上边相对</span><span><span lang="EN-US">Composite上边，偏移量0。<br /></span></span><span>按钮</span><span>左边相对</span><span><span lang="EN-US">Composite右边边，偏移量17。<br /></span></span><span>按钮</span><span>右边相对</span><span></span><span><span lang="EN-US">Composite右边</span></span><span><span lang="EN-US">，偏移量0。<br /></span></span><span>按钮</span><span>下边相对</span><span><span lang="EN-US">Composite下边，偏移量0。</span></span><br /><br />这样我们就整体实现文本框。按钮的高度跟随<span><span lang="EN-US">Composite变化。<br />按钮宽度固定。文本框宽度</span></span>跟随<span><span lang="EN-US">Composite变化。<br />代码片段：<br /><div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 0);">        arrow </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Button(</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">, arrowStyle);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        arrow.addSelectionListener(arrowListener);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span><span style="color: rgb(0, 0, 255);">final</span><span style="color: rgb(0, 0, 0);"> FormData formData </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormData();<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData.left </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">100</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData.right </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">100</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData.top </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData.bottom </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">100</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        arrow.setLayoutData(formData);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        text </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Text(</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">, SWT.READ_ONLY);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span><span style="color: rgb(0, 0, 255);">final</span><span style="color: rgb(0, 0, 0);"> FormData formData_1 </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormData();<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData_1.right </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(arrow, </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">, SWT.LEFT);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData_1.top </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData_1.bottom </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">100</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        formData_1.left </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FormAttachment(</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" _fcksavedurl="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        text.setLayoutData(formData_1);</span></div></div></span></span><p class="MsoPlainText"><span><span lang="EN-US"><o:p></o:p></span></span></p><img src ="http://www.blogjava.net/vip01/aggbug/89880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-25 13:26 <a href="http://www.blogjava.net/vip01/archive/2006/12/25/89880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打造完美SWT日期选择控件：（一）寻找、比较轮子</title><link>http://www.blogjava.net/vip01/archive/2006/12/25/89879.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 25 Dec 2006 05:24:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/25/89879.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/89879.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/25/89879.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/89879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/89879.html</trackback:ping><description><![CDATA[    日期选择控件可以说是每个项目中必用的，看到WEB上那么多美观好用的日期选择控件，再回头SWT。。。没有一个好用的日期控件，于是就想自己写一个。<br />    当然发明轮子之前先找找看有没有别人写好的轮子。经过一番寻找还真有不少。总结一下，现在SWT下的日期控件有以下三种形式：<br /><div style="text-align: left;">1嵌入式：<br /><img alt="嵌入式" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap1.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap1.jpg" /><br /><br />点评：嵌入式作用不大 ，而且我们能看到这个控件对中文支持不好，星期全部都显示为“星”。<br /><br />2弹出式：<br /><br /><img alt="弹出式" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap2.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap2.jpg" /><br /><br />点评：对中文支持较好，经过看源代码。是一位中国同胞修改的，对中文进行了特殊处理（致敬）。但是弹出式用户体验不好，而且该控件对星期的字符串全部截取一到两个字符，在某些语言环境下，会出现星期全是相同字母的情况，容易造成混淆。比如越南文环境下：<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap4.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap4.jpg" /><br /><br /><br />3下拉列表式：<br /><br /><img alt="下拉列表式" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap3.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap3.jpg" /></div>点评：中文支持基本没有，而且还有严重BUG，<br />（十月只有29号）， <img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap5.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap5.jpg" align="left" height="165" width="214" /><br />优点是下拉列表方式，用户体验好，而且在SWT DESIGNER中可以任意拖放，支持任意位置任意大小，方便设计界面。<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />综上我心目中的完美SWT日期控件有如下需求：<br />1：下拉列表方式。<br />2：在SWT DESIGNER中能预览，能拖放，调整大小。<br />3：支持多语言。<br />4：支持任意星期开始（不是所有国家都是星期日是一周开始）。<br />当然还要有基本日期功能。<img src ="http://www.blogjava.net/vip01/aggbug/89879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-25 13:24 <a href="http://www.blogjava.net/vip01/archive/2006/12/25/89879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用FormLayout打造自适应窗体大小的控件布局</title><link>http://www.blogjava.net/vip01/archive/2006/12/25/89878.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 25 Dec 2006 05:23:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/25/89878.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/89878.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/25/89878.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/89878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/89878.html</trackback:ping><description><![CDATA[    作SWT程序界面时很多窗体的大小是可变。在大小不固定的窗体里怎么使里面的控件在任意大小下都能保持美观是将让人头疼的事情。FormLayout的布局方式就是解决这一问题的灵丹妙药。上图是王道，看图先：<br />我胖<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap28.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap28.jpg" /><br /><br />我瘦<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap29.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap29.jpg" /><br /><br /><br />我标准<br /><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap30.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/Snap30.jpg" /><br /><br /><br />以上就是一个窗体在不同大小下的效果，控件随着窗体的大小改变大小和位置，这就是FormLayout的布局方式的的功劳。<br /><span style="COLOR: rgb(255,0,0)">FormLayout的布局方式的精髓就两个字“相对”。<br /><br /><span style="COLOR: rgb(0,0,0)">下面先看看设计界面：<br /><br /></span></span><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1001.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1001.jpg" /><br /><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><br /></span><br /><span style="COLOR: rgb(0,0,0)">在设计器里面点击文本框[name_text]可以看到上下左右各出现一个小箭头，这四个箭头就是用来设置该控件在四个方向上的相对位置。<br />先看看上：<br />点击上箭头会出现五个小按钮<img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1003.jpg" _fcksavedurl="http://p.blog.csdn.net/images/p_blog_csdn_net/vip01/snap1003.jpg" />，<br />第一个是设置控件[<span style="COLOR: rgb(255,0,0)">上边</span>]相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。<br />第二个是</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">置控件</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">底边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">第三个是设置控件[<span style="COLOR: rgb(255,0,0)">上边</span>]相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为百分比。<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">第四个是设置控件[<span style="COLOR: rgb(255,0,0)">上边</span>]相对容器内某控件的位置</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">偏移量为具体数字。<br />第五个是取消设置。<br /><br /></span></span>左<span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">箭头、</span></span>右<span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">箭头</span></span>和下<span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">箭头点击以后</span></span>与此类似。<br /><br />举例说明：<br />对于<span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">文本框[name_text],我们这样设置：<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。</span></span><br /><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">左边</span>]相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">左边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。</span></span><br /><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">右边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)"></span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)">右边</span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)"></span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。（当容器改变宽度的时候，控件宽度跟着改变）<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">下边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。（当容器高度变化时，高度不变）<br /><br />对于</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">文本框[name_remark],我们这样设置：<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器[<span style="COLOR: rgb(255,0,0)">上边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。</span></span><br /><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">左边</span>]相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">左边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。</span></span><br /><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">右边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)"></span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)">右边</span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)"></span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。（当容器改变宽度的时候，控件宽度跟着改变）<br /></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)">下边</span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">相对容器</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">[<span style="COLOR: rgb(255,0,0)"></span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)">下边</span></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"><span style="COLOR: rgb(255,0,0)"></span>]</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">，偏移量为具体数字。（当容器高度变化时，</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">控件</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">高度</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">跟着改变</span></span><span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">）<br /><br />通过A相对B这种方式。我们能制作出非常实用美观的界面。<br />以下是代码：<br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.SWT;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.layout.FillLayout;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.layout.FormAttachment;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.layout.FormData;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.layout.FormLayout;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.widgets.Composite;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.widgets.Display;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.widgets.Label;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.widgets.Shell;<br /></span><span style="COLOR: rgb(0,0,255)">import</span><span style="COLOR: rgb(0,0,0)"> org.eclipse.swt.widgets.Text;<br /><br /><br /></span><span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">class</span><span style="COLOR: rgb(0,0,0)"> TestFormLayout {<br /><br />    </span><span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,0)"> Text text_remark;<br />    </span><span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,0)"> Text text_name;<br />    </span><span style="COLOR: rgb(0,0,255)">protected</span><span style="COLOR: rgb(0,0,0)"> Shell shell;<br /><br />    </span><span style="COLOR: rgb(0,128,0)">/**</span><span style="COLOR: rgb(0,128,0)"><br />     * Launch the application<br />     * </span><span style="COLOR: rgb(128,128,128)">@param</span><span style="COLOR: rgb(0,128,0)"> args<br />     </span><span style="COLOR: rgb(0,128,0)">*/</span><span style="COLOR: rgb(0,0,0)"><br />    </span><span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">static</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> main(String[] args) {<br />        </span><span style="COLOR: rgb(0,0,255)">try</span><span style="COLOR: rgb(0,0,0)"> {<br />            TestFormLayout window </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> TestFormLayout();<br />            window.open();<br />        } </span><span style="COLOR: rgb(0,0,255)">catch</span><span style="COLOR: rgb(0,0,0)"> (Exception e) {<br />            e.printStackTrace();<br />        }<br />    }<br /><br />    </span><span style="COLOR: rgb(0,128,0)">/**</span><span style="COLOR: rgb(0,128,0)"><br />     * Open the window<br />     </span><span style="COLOR: rgb(0,128,0)">*/</span><span style="COLOR: rgb(0,0,0)"><br />    </span><span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> open() {<br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> Display display </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> Display.getDefault();<br />        createContents();<br />        shell.open();<br />        shell.layout();<br />        </span><span style="COLOR: rgb(0,0,255)">while</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,0)">!</span><span style="COLOR: rgb(0,0,0)">shell.isDisposed()) {<br />            </span><span style="COLOR: rgb(0,0,255)">if</span><span style="COLOR: rgb(0,0,0)"> (</span><span style="COLOR: rgb(0,0,0)">!</span><span style="COLOR: rgb(0,0,0)">display.readAndDispatch())<br />                display.sleep();<br />        }<br />    }<br /><br />    </span><span style="COLOR: rgb(0,128,0)">/**</span><span style="COLOR: rgb(0,128,0)"><br />     * Create contents of the window<br />     </span><span style="COLOR: rgb(0,128,0)">*/</span><span style="COLOR: rgb(0,0,0)"><br />    </span><span style="COLOR: rgb(0,0,255)">protected</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> createContents() {<br />        shell </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Shell();<br />        shell.setLayout(</span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FillLayout());<br />        shell.setSize(</span><span style="COLOR: rgb(0,0,0)">500</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">375</span><span style="COLOR: rgb(0,0,0)">);<br />        shell.setText(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">SWT Application</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">);<br /><br />        Label label_remark;<br /><br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> Composite composite </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Composite(shell, SWT.NONE);<br />        composite.setLayout(</span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormLayout());<br /><br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> Label label_name </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Label(composite, SWT.NONE);<br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> FormData formData </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormData();<br />        formData.top </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">25</span><span style="COLOR: rgb(0,0,0)">);<br />        formData.left </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">30</span><span style="COLOR: rgb(0,0,0)">);<br />        formData.right </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">60</span><span style="COLOR: rgb(0,0,0)">);<br />        label_name.setLayoutData(formData);<br />        label_name.setText(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">姓名</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">);<br /><br />        text_name </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Text(composite, SWT.BORDER);<br />        formData.bottom </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(text_name, </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, SWT.BOTTOM);<br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> FormData formData_1 </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormData();<br />        formData_1.top </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">25</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_1.right </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">100</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">-</span><span style="COLOR: rgb(0,0,0)">32</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_1.bottom </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">43</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_1.left </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(label_name, </span><span style="COLOR: rgb(0,0,0)">5</span><span style="COLOR: rgb(0,0,0)">, SWT.DEFAULT);<br />        text_name.setLayoutData(formData_1);<br /><br />        text_remark </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Text(composite, SWT.BORDER);<br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> FormData formData_2 </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormData();<br />        formData_2.bottom </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">100</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">-</span><span style="COLOR: rgb(0,0,0)">16</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_2.right </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">100</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">-</span><span style="COLOR: rgb(0,0,0)">32</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_2.top </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">62</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_2.left </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">65</span><span style="COLOR: rgb(0,0,0)">);<br />        text_remark.setLayoutData(formData_2);<br />        label_remark </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Label(composite, SWT.NONE);<br />        </span><span style="COLOR: rgb(0,0,255)">final</span><span style="COLOR: rgb(0,0,0)"> FormData formData_3 </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormData();<br />        formData_3.top </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">44</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_3.bottom </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">51</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_3.right </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">60</span><span style="COLOR: rgb(0,0,0)">);<br />        formData_3.left </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> FormAttachment(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">, </span><span style="COLOR: rgb(0,0,0)">30</span><span style="COLOR: rgb(0,0,0)">);<br />        label_remark.setLayoutData(formData_3);<br />        label_remark.setText(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">说明</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">);<br />        </span></div></div></span></span><img src ="http://www.blogjava.net/vip01/aggbug/89878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-25 13:23 <a href="http://www.blogjava.net/vip01/archive/2006/12/25/89878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为RCP程序增加关闭提示和关闭到系统托盘</title><link>http://www.blogjava.net/vip01/archive/2006/12/25/89875.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 25 Dec 2006 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/25/89875.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/89875.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/25/89875.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/89875.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/89875.html</trackback:ping><description><![CDATA[    想为RCP程序增加关闭提示和关闭到系统托盘的朋友可以在ApplicationWorkbenchWindowAdvisor里面<br /><br />加入<br />    @Override<br />    public void postWindowClose() {<br />//退出提示或者最小化到托盘代码写在这里<br />        super.postWindowClose();//关闭RCP，不想关闭就不要写这行<br />    }<img src ="http://www.blogjava.net/vip01/aggbug/89875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-25 13:16 <a href="http://www.blogjava.net/vip01/archive/2006/12/25/89875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>像WEB一样的树形导航RCP</title><link>http://www.blogjava.net/vip01/archive/2006/12/22/89464.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Fri, 22 Dec 2006 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/12/22/89464.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/89464.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/12/22/89464.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/89464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/89464.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 像WEB一样的树形导航RCP，废话不说，先看效果图。 点击不同的树节点可以动态切换右边的view，界面切换是一瞬间的，不闪。上代码：Perspectivepackage org.hermit.pojotools.tt;import org.eclipse.ui.IFolderLayout;import org.eclipse.ui.IPageLayout;import org.eclipse.ui...&nbsp;&nbsp;<a href='http://www.blogjava.net/vip01/archive/2006/12/22/89464.html'>阅读全文</a><img src ="http://www.blogjava.net/vip01/aggbug/89464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-12-22 11:10 <a href="http://www.blogjava.net/vip01/archive/2006/12/22/89464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RCP程序怎样实现自适应分辩率最大化</title><link>http://www.blogjava.net/vip01/archive/2006/10/30/78180.html</link><dc:creator>交口称赞</dc:creator><author>交口称赞</author><pubDate>Mon, 30 Oct 2006 15:50:00 GMT</pubDate><guid>http://www.blogjava.net/vip01/archive/2006/10/30/78180.html</guid><wfw:comment>http://www.blogjava.net/vip01/comments/78180.html</wfw:comment><comments>http://www.blogjava.net/vip01/archive/2006/10/30/78180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vip01/comments/commentRss/78180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vip01/services/trackbacks/78180.html</trackback:ping><description><![CDATA[
		<span>在ApplicationWorkbenchWindowAdvisor类的<br /><br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,255)">void</span><span style="COLOR: rgb(0,0,0)"> preWindowOpen() {<br />}</span></div></div><br />方法里面加入如下代码即可 
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><div><span style="COLOR: rgb(0,0,0)">Dimension srcd </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> Toolkit.getDefaultToolkit().getScreenSize();<br />configurer.setInitialSize(</span><span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,0,0)"> Point(srcd.width,srcd.height));</span></div></div></span>
<img src ="http://www.blogjava.net/vip01/aggbug/78180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vip01/" target="_blank">交口称赞</a> 2006-10-30 23:50 <a href="http://www.blogjava.net/vip01/archive/2006/10/30/78180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>