<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-10989464</id><updated>2009-12-06T23:29:57.862-08:00</updated><title type='text'>Aki's Java Blog (JME,Eclipse-Draw2D)</title><subtitle type='html'>about my opensource eclipse java applications 
recently i'm studying jme</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default?start-index=26&amp;max-results=25'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10989464.post-1993571187930542588</id><published>2008-01-31T22:43:00.000-08:00</published><updated>2008-01-31T23:03:02.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jme'/><category scheme='http://www.blogger.com/atom/ns#' term='makehuman'/><title type='text'>mkhuman's .obj and jme</title><content type='html'>i'm afraid this is already have been solved.&lt;br /&gt;but i had coudn'd ,that why i'm writing.&lt;br /&gt;&lt;br /&gt;so when i read .obj which made by makehuman.&lt;br /&gt;i need head's TriMesh,but 'node.getChild("head")' didnt work.&lt;br /&gt;so i changed ObjToJme.class keep line usemtl's name.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm not sure this patch work or not,but it easy to explain what i changed.&lt;br /&gt;### Eclipse Workspace Patch 1.0&lt;br /&gt;#P jMonkeyEngine&lt;br /&gt;Index: src/com/jmex/model/converters/ObjToJme.java&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /cvs/jme/src/com/jmex/model/converters/ObjToJme.java,v&lt;br /&gt;retrieving revision 1.2&lt;br /&gt;diff -u -r1.2 ObjToJme.java&lt;br /&gt;--- src/com/jmex/model/converters/ObjToJme.java 21 Sep 2007 15:45:30 -0000 1.2&lt;br /&gt;+++ src/com/jmex/model/converters/ObjToJme.java 1 Feb 2008 06:57:08 -0000&lt;br /&gt;@@ -283,8 +283,13 @@&lt;br /&gt;             addMaterial(parts);&lt;br /&gt;             return;&lt;br /&gt;         } else if ("usemtl".equals(parts[0])) {&lt;br /&gt;-            if (materialNames.get(parts[1]) != null)&lt;br /&gt;+         &lt;br /&gt;+            if (materialNames.get(parts[1]) != null){&lt;br /&gt;+            //TODO &lt;br /&gt;                 curGroup = materialNames.get(parts[1]);&lt;br /&gt;+                //something special for makehuman&lt;br /&gt;+                curGroup.name=parts[1];&lt;br /&gt;+                }&lt;br /&gt;             else&lt;br /&gt;                 setDefaultGroup();&lt;br /&gt;             return;&lt;br /&gt;@@ -395,6 +400,14 @@&lt;br /&gt;         ArraySet thisMat = materialSets.get(curGroup);&lt;br /&gt;         if (thisMat.objName == null &amp;&amp; curObjectName != null)&lt;br /&gt;             thisMat.objName = curObjectName;&lt;br /&gt;+         //TODO &lt;br /&gt;+        //something special for makehuman .obj file&lt;br /&gt;+        if(thisMat.objName.equals("mesh.obj") &amp;&amp; curGroup.name!=null){&lt;br /&gt;+        thisMat.objName=curGroup.name;&lt;br /&gt;+        }&lt;br /&gt;+        &lt;br /&gt;+        &lt;br /&gt;+        &lt;br /&gt;         IndexSet first = new IndexSet(parts[1]);&lt;br /&gt;         int firstIndex = thisMat.findSet(first);&lt;br /&gt;         IndexSet second = new IndexSet(parts[2]);&lt;br /&gt;@@ -482,6 +495,8 @@&lt;br /&gt;         MaterialState m;&lt;br /&gt;         TextureState ts;&lt;br /&gt;         AlphaState as;&lt;br /&gt;+         //TODO &lt;br /&gt;+        String name;&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     /**&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-1993571187930542588?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/1993571187930542588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=1993571187930542588&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/1993571187930542588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/1993571187930542588'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2008/01/mkhumans-obj-and-jme.html' title='mkhuman&apos;s .obj and jme'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-114812091043525265</id><published>2006-05-20T03:26:00.000-07:00</published><updated>2006-05-20T03:28:30.446-07:00</updated><title type='text'>How to use Scrollbar in SWT</title><content type='html'>I was shocked because I have forgot How to scroll Text.&lt;br /&gt;It's so simple.&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Text text = new Text(panel,SWT.MULTI|SWT.V_SCROLL|SWT.H_SCROLL);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-114812091043525265?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/114812091043525265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=114812091043525265&amp;isPopup=true' title='51 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/114812091043525265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/114812091043525265'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2006/05/how-to-use-scrollbar-in-swt.html' title='How to use Scrollbar in SWT'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>51</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112436480352546126</id><published>2005-08-18T04:33:00.000-07:00</published><updated>2005-08-18T04:35:14.356-07:00</updated><title type='text'>What is Insets?[GEF/Draw2D]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/insets.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/320/insets.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;How many pixels inset a figure by a border on top,bottom,left and right.&lt;br /&gt;&lt;br /&gt;Some layouts take care that value.&lt;br /&gt;And I guess it help to know if a border was clicked.&lt;br /&gt;&lt;br /&gt;Anyway,generally a border overdraw a figure in insets.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Maybe you could know if events happen inside a border like below.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;public class MouseClicked extends MouseListener.Stub{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;  public void mousePressed(MouseEvent me) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;   Figure figure=(Figure)me.getSource();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;   //I guess there are other better way.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;   if(figure.getBounds().contains(me.x,me.y) &amp;&amp;amp; !figure.getBounds().getCropped(figure.getInsets()).contains(me.x,me.y)){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;    shell.setText("click border");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;   }else{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;    shell.setText("click inside");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;  }&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;    }&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112436480352546126?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112436480352546126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112436480352546126&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112436480352546126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112436480352546126'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/what-is-insetsgefdraw2d_18.html' title='What is Insets?[GEF/Draw2D]'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112377139256501171</id><published>2005-08-11T07:41:00.000-07:00</published><updated>2005-08-12T04:07:58.253-07:00</updated><title type='text'>like WaveFormGraph and zoom in and zoom out and stretch[GEF/Draw2D]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/draw2dzoom.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/3497/873/400/draw2dzoom.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Of course my way is tricky.&lt;br /&gt;But I don't know how to set different scale both width and height.&lt;br /&gt;please see code anyway,it's difficult to explain how to do that.&lt;br /&gt;&lt;br /&gt;In my program,I use ScaledPane and ToolbarLayout.&lt;br /&gt;So It's easy zoom in and zoom out.&lt;br /&gt;but  When I wish fix height,I would do something.&lt;br /&gt;&lt;br /&gt;In my code,I change my graph figure return 1x1 dimension everytime.&lt;br /&gt;because on scaled changed,height length would be changed.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;public Dimension getPreferredSize(int hintW,int hintH){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;    System.out.println(getParentScale());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;    if(horizontal){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;        //return new Dimension(values.length*space,maxValue-minValue);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;        //return new Dimension(values.length*space,(int)((maxValue-minValue)/getParentScale()));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;        return new Dimension(values.length*space,1);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;        }else{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;        return new Dimension(hintW,hintH);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once you do that,it's ToolbarLayout and height would be stretched automatic.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Codes&lt;/span&gt;&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/ScaledToolbarLayoutTest.java?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup"&gt;ScaledToolbarLayoutTest.java&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/ScaledWavFormGraphTest.java"&gt;ScaledWavFormGraphTest.java&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112377139256501171?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112377139256501171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112377139256501171&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112377139256501171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112377139256501171'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/like-waveformgraph-and-zoom-in-and.html' title='like WaveFormGraph and zoom in and zoom out and stretch[GEF/Draw2D]'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112361040117515558</id><published>2005-08-09T10:59:00.000-07:00</published><updated>2005-08-09T11:03:00.803-07:00</updated><title type='text'>my Ecliipse RCP Application for Windows -akJ OptipngWrapper</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/akjopti21.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/320/akjopti21.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are Optimizing PNG File Application -  &lt;a href="http://www.cs.toronto.edu/%7Ecosmin/pngtech/optipng/"&gt;&lt;span style="text-decoration: underline;"&gt;Optipng&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;And This is Optipng Wrapper Application.&lt;a href="http://www.cs.toronto.edu/%7Ecosmin/pngtech/optipng/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this application I didn't use draw2d yet.&lt;br /&gt;It's simple Eclipse RCP Application.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;It may work under Windows Platform.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;If there were not .exe file.No one use this application.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;I don't know how to support other platform.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;And more it include command-line exe.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you can download this application from &lt;a href="http://sourceforge.jp/projects/akjrcp/files/?release_id=14218#14218"&gt;sourceforge.jp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this is Opensource Application,&lt;br /&gt;and you can see code &lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/optipngwrapper/"&gt;cvs.sourceforge.jp&lt;/a&gt;&lt;br /&gt;but be carefull,I didn't refactoring yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112361040117515558?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112361040117515558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112361040117515558&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112361040117515558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112361040117515558'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/my-ecliipse-rcp-application-for.html' title='my Ecliipse RCP Application for Windows -akJ OptipngWrapper'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112352152086733006</id><published>2005-08-08T10:17:00.000-07:00</published><updated>2005-08-08T10:18:40.870-07:00</updated><title type='text'>Scroll ScrollPane by MouseWheel [Draw2D]</title><content type='html'>Create class implement SelectionListener and write that.&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt; public class WheelMove implements SelectionListener{&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        public void widgetSelected(SelectionEvent arg0) {&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            ScrollBar bar=scrollpane.getHorizontalScrollBar();&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            int direction=1;//16777218&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            if(arg0.detail==16777217){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                direction=-1;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            bar.setValue(bar.getValue()+direction*bar.getStepIncrement());&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        public void widgetDefaultSelected(SelectionEvent arg0) {&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and get Real ScrollBar of FigureCanvas and add a addSelectionListener.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;FigureCanvas canvas = new FigureCanvas(shell);&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;canvas.getVerticalBar().addSelectionListener(new WheelMove());&lt;/span&gt;&lt;br /&gt;       &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;FullCode&lt;/span&gt;&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/NonOpaqueViewPort.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup"&gt;http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/NonOpaqueViewPort.java?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112352152086733006?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112352152086733006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112352152086733006&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112352152086733006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112352152086733006'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/scroll-scrollpane-by-mousewheel-draw2d.html' title='Scroll ScrollPane by MouseWheel [Draw2D]'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112352132320567343</id><published>2005-08-08T10:11:00.000-07:00</published><updated>2005-08-08T10:15:23.213-07:00</updated><title type='text'>Change isOpaque() of ScrollPane [Draw2D]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/isOpaque.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/400/isOpaque.jpg" alt="" border="0" /&gt;&lt;/a&gt;Finaly,I upload sample codes to cvs.&lt;br /&gt;see here&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/"&gt;http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm sorry,I don't have any way to know other platform results.&lt;br /&gt;So I guess sometime on non-windows platrom it's didn't work correctly.&lt;br /&gt;&lt;br /&gt;isOpaque methods of Scrollpane return always true.&lt;br /&gt;but if you don't like it,overwrite it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;    public class NoOpaqueScrollPane extends ScrollPane{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        public boolean isOpaque(){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            return false;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;FullCode&lt;/span&gt;&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/NonOpaqueViewPort.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup"&gt;http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/NonOpaqueViewPort.java?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112352132320567343?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112352132320567343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112352132320567343&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112352132320567343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112352132320567343'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/change-isopaque-of-scrollpane-draw2d.html' title='Change isOpaque() of ScrollPane [Draw2D]'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112342860402149021</id><published>2005-08-07T08:23:00.000-07:00</published><updated>2005-08-08T13:37:46.986-07:00</updated><title type='text'>Customize BorderLayout of Draw2D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/customborder2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/400/customborder2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you customized BorderLayout.java ,you could do such things.&lt;br /&gt;&lt;br /&gt;Certainly,If you overwrited getPreferedSize(),and you could do.&lt;br /&gt;But If you did customize BorderLayout,You could control center figure of BorderLayout.&lt;br /&gt;It's simple and usefull.&lt;br /&gt;&lt;br /&gt;I copy from &lt;span style="font-weight: bold;"&gt;BorderLayout.java&lt;/span&gt; to  CustomBorderLayout.java&lt;br /&gt;&lt;br /&gt;and new field.&lt;br /&gt;and create both of get and set methods.&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;private boolean stretchCenterWidth=true;&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;private boolean stretchCenterHeight=false;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and ,on layout() methods,&lt;br /&gt;I replace code to when stretchCenter* is true,layoutmanager stretch figure width or height.&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;if(!stretchCenterHeight){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            if (childSize.height &lt;&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                area.y += (area.height - childSize.height) / 2;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                area.height = childSize.height;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;            if(!stretchCenterWidth){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                if (childSize.width &lt;&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                    area.x += (area.width - childSize.width) / 2;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                    area.width = childSize.width;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 0);"&gt;                }&lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;finally use call in your program like this.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;CustomBorderLayout layout=new CustomBorderLayout();&lt;/span&gt;  &lt;span style="color: rgb(255, 153, 0);"&gt;layout.setStretchCenterWidth(true);&lt;/span&gt;  &lt;span style="color: rgb(255, 153, 0);"&gt;&lt;br /&gt;layout.setStretchCenterHeight(true);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;FullCode&lt;br /&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/CustomBorderLayoutTest.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup"&gt;http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/CustomBorderLayoutTest.java?rev=1.1&amp;amp;content-type=text/vnd.viewcvs-markup&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112342860402149021?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112342860402149021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112342860402149021&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112342860402149021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112342860402149021'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/customize-borderlayout-of-draw2d.html' title='Customize BorderLayout of Draw2D'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112334440700300766</id><published>2005-08-06T08:47:00.000-07:00</published><updated>2005-08-08T10:24:13.456-07:00</updated><title type='text'>like transparent figure on Draw2D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/alphalayer11.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/320/alphalayer11.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In this here,I'd like to explain how to create like transparent figure.&lt;br /&gt;but this way is only create 1x1 sized image which has alpha and draw fill bounds of figure.&lt;br /&gt;So If you add figures insert this figure,it would never be transparent.&lt;br /&gt;&lt;br /&gt;Although,If you add one more this way figure as shadow,It would be neat.&lt;br /&gt;&lt;br /&gt;I use this tips in my Eclipse RCP Application;&lt;a href="http://sourceforge.jp/projects/akjrcp/files/"&gt;akJ Subplayer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;-Example&lt;/span&gt;&lt;br /&gt;In this example,add two AlphaLayerFigures.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;---add first AlphaLayerFigure&lt;/span&gt;&lt;br /&gt;On Constracter It send color and alpha(0-255) arugments.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;AlphaLayerFigure figure1=new AlphaLayerFigure(ColorConstants.red,128);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;figure1.setBounds(new Rectangle(0,0,100,100));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;figure1.add(new Label("layer1"));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;panel.add(figure1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;---add second AlphaLayerFigure&lt;/span&gt;&lt;br /&gt;This code use FlowLayout to layout label to align left.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;AlphaLayerFigure figure2=new AlphaLayerFigure(ColorConstants.orange,128);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;figure2.setBounds(new Rectangle(5,5,100,100));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;FlowLayout layout=new FlowLayout();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;layout.setMajorAlignment(FlowLayout.ALIGN_RIGHTBOTTOM);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;figure2.setLayoutManager(layout);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;figure2.add(new Label("layer2"));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;panel.add(figure2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;---AlphaLayerFigure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;----Constracter&lt;/span&gt;&lt;br /&gt;In Constracter,Palette was Created by a color argument.&lt;br /&gt;And a image sized 1x1 was created by that Palette with alpha value.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;     public AlphaLayerFigure(Color color,int alpha){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            super();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            this.color=color;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            PaletteData palette=new PaletteData(new RGB[]{color.getRGB()});&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            imageData = new ImageData(1,1,8,palette);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            imageData.alpha=alpha;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            imageData.setPixel(0,0,0);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            layerImage = new Image(null,imageData);  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;---On Color Changed;setColor()&lt;/span&gt;&lt;br /&gt;When color was changed,Image would be create again and paint.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; this.color=color;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            imageData.palette.colors[0]=color.getRGB();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            if(layerImage!=null &amp;&amp;amp; !layerImage.isDisposed()){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;                layerImage.dispose();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            layerImage=new Image(null,imageData);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            repaint();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;---On Alpah Changed;setAlpha()&lt;/span&gt;&lt;br /&gt;Do same as color changed.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  public void setAlpha(int alpha){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            imageData.alpha=alpha;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            if(layerImage!=null &amp;&amp;amp; !layerImage.isDisposed()){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;                layerImage.dispose();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            layerImage=new Image(null,imageData);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;            repaint();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;FullCode&lt;br /&gt;&lt;/span&gt;&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/AlphaTest.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/akjrcp/draw2dexample/src/example/draw2d/AlphaTest.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112334440700300766?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112334440700300766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112334440700300766&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112334440700300766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112334440700300766'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/like-transparent-figure-on-draw2d.html' title='like transparent figure on Draw2D'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-112325244606584495</id><published>2005-08-05T07:22:00.000-07:00</published><updated>2005-08-06T09:16:16.216-07:00</updated><title type='text'>First Draw2D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3497/873/1600/draw2d_first1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3497/873/320/draw2d_first1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;You need draw2d.jar of GEF and swt.jar to run  below program.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;At first it's need to create FigureCanvas.&lt;br /&gt;FigureCanvas connect Components and  Figures.&lt;br /&gt;Besides that there are LightweightSystem&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;FigureCanvas canvas = new FigureCanvas(shell);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Next ,it need to create Panel of Draw2D which is one of Figures.&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;And set FlowLayout as Layout.&lt;/span&gt;    &lt;span style="color: rgb(0, 0, 0);"&gt;On Draw2D figure is set as tree ,So it's need root Figure.&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;And Method setContens()  set  root Figure . &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Panel panel=new Panel();&lt;/span&gt;  &lt;span style="color: rgb(255, 102, 102);"&gt;panel.setLayoutManager(new FlowLayout(false));&lt;/span&gt;  &lt;span style="color: rgb(255, 102, 102);"&gt;canvas.setContents(panel);&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Finally,it add labels of Draw2D.&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;On Draw2D,there are no need to add a parent Figure argument,because it add a children figure to a parent Figure directly.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;pre&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;for(int i=0;i&lt;3;i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Label label=new Label("draw2d "+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;panel.add(label);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;//all codes.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; * Created on 2005/07/28&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; * Author aki@www.xucker.jpn.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; * License Apache2.0 or Common Public License&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;package example.draw2d;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.draw2d.FigureCanvas;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.draw2d.FlowLayout;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.draw2d.Label;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.draw2d.Panel;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.swt.SWT;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.swt.layout.FillLayout;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.swt.widgets.Display;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;import org.eclipse.swt.widgets.Shell;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; * &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;public class Draw2DLabel {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;    public Draw2DLabel(Shell shell) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  shell.setBounds(0,0,150,150);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  shell.setLayout(new FillLayout(SWT.VERTICAL));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  FigureCanvas canvas = new FigureCanvas(shell);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  Panel panel=new Panel();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  panel.setLayoutManager(new FlowLayout(false));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  canvas.setContents(panel);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  for(int i=0;i&lt;3;i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  Label label=new Label("draw2d "+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  panel.add(label);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  Display display=new Display();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  Shell shell=new Shell(display);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  Draw2DLabel app=new Draw2DLabel(shell);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  shell.open();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  while(!shell.isDisposed()){   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;   if (!display.readAndDispatch ()){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;     display.sleep ();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;      }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  display.dispose();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-112325244606584495?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/112325244606584495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=112325244606584495&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112325244606584495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/112325244606584495'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/08/first-draw2d.html' title='First Draw2D'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111814043536456896</id><published>2005-06-07T03:31:00.000-07:00</published><updated>2005-06-07T03:33:55.370-07:00</updated><title type='text'>akj Speechtools 1.1</title><content type='html'>I release new verion akJ Speechtools 1.1&lt;br /&gt;This is Eclipse RCP Application which can speech.&lt;br /&gt;it can both speech both English &amp; Japanese.&lt;br /&gt;it use FreeTTS &amp;amp; Mbrola &amp;amp; Gtalk(Japanese Voice).&lt;br /&gt;&lt;br /&gt;You can download from here.&lt;br /&gt;https://sourceforge.jp/projects/akjrcp/files/?release_id=15055#15055&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111814043536456896?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111814043536456896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111814043536456896&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111814043536456896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111814043536456896'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/06/akj-speechtools-11.html' title='akj Speechtools 1.1'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111224024735558961</id><published>2005-03-30T19:35:00.000-08:00</published><updated>2005-03-30T19:37:27.356-08:00</updated><title type='text'>how to wrap on and off Text Widget</title><content type='html'>I don't know is this a best way .&lt;br /&gt;&lt;br /&gt;simply rebuild text widget.&lt;br /&gt;keep text and selection.&lt;br /&gt;----&lt;br /&gt;    public void createPartControl(Composite parent) {&lt;br /&gt;       &lt;br /&gt;        textArea = new Text(parent,SWT.MULTI|SWT.V_SCROLL|SWT.H_SCROLL);&lt;br /&gt;      &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setWrap(boolean bool){&lt;br /&gt;        Composite parent=textArea.getParent();&lt;br /&gt;        String text=textArea.getText();&lt;br /&gt;        Point pt=textArea.getSelection();&lt;br /&gt;        textArea.dispose();&lt;br /&gt;        int style=SWT.H_SCROLL;&lt;br /&gt;        if(bool){&lt;br /&gt;            style=SWT.WRAP;&lt;br /&gt;        }&lt;br /&gt;        textArea = new Text(parent,SWT.MULTI|SWT.V_SCROLL|style);&lt;br /&gt;        textArea.setText(text);&lt;br /&gt;        textArea.setSelection(pt);&lt;br /&gt;       &lt;br /&gt;        &lt;span style="color: rgb(255, 0, 0);"&gt;parent.layout();&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111224024735558961?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111224024735558961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111224024735558961&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111224024735558961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111224024735558961'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/how-to-wrap-on-and-off-text-widget.html' title='how to wrap on and off Text Widget'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111222106600877069</id><published>2005-03-30T14:16:00.000-08:00</published><updated>2005-03-30T14:18:58.316-08:00</updated><title type='text'>on windows these character cant' use</title><content type='html'>on windows these character cant' use&lt;br /&gt;public static char[] NON_FILENAME=&lt;span style="color: rgb(255, 0, 0);"&gt;{'\\','/',':','*','?','&lt;','&gt;','|'}&lt;/span&gt;;&lt;br /&gt;and sample codes.&lt;br /&gt;/*&lt;br /&gt; * Created on 2005/03/31&lt;br /&gt; * Author aki@www.xucker.jpn.org&lt;br /&gt; * License Apache2.0 or Common Public License&lt;br /&gt; */&lt;br /&gt;package org.jpn.xucker.rcp.speech.wizards;&lt;br /&gt;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class FileNameUtils {&lt;br /&gt;    public static char[] NON_FILENAME={'\\','/',':','*','?','&lt;','&gt;','|'};&lt;br /&gt;    public static String replaceNonFileName(String base,String replaceText,int maxlength){&lt;br /&gt;        StringBuffer result=new StringBuffer();&lt;br /&gt;        for(int i=0;i&lt;base.length() &amp;amp;&amp;amp; i&lt;maxlength;i++){&lt;br /&gt;            if(isNonFileNameChar(base.charAt(i))){&lt;br /&gt;                result.append(replaceText);&lt;br /&gt;            }else{&lt;br /&gt;                result.append(base.charAt(i));&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return result.toString();&lt;br /&gt;    }&lt;br /&gt;    public static boolean isNonFileNameChar(char ch){&lt;br /&gt;        for (int i = 0; i &lt; NON_FILENAME.length; i++) {&lt;br /&gt;            if(NON_FILENAME[i]==ch){&lt;br /&gt;                return true;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public static String[] avoidSameName(String filenames[],String[] otherNames) throws IOException{&lt;br /&gt;        int max=999999;&lt;br /&gt;        String result[]=new String[filenames.length];&lt;br /&gt;        HashMap map=new HashMap();&lt;br /&gt;        if(otherNames!=null){&lt;br /&gt;            for (int i = 0; i &lt; otherNames.length; i++) {&lt;br /&gt;                map.put(otherNames[i],"");&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        for (int i = 0; i &lt; result.length; i++) {&lt;br /&gt;           &lt;br /&gt;                String newname=filenames[i];&lt;br /&gt;                int last=filenames[i].lastIndexOf(".");&lt;br /&gt;                String head=null;&lt;br /&gt;                String foot=null;&lt;br /&gt;                if(last!=-1){&lt;br /&gt;                    head=filenames[i].substring(0,last);&lt;br /&gt;                    foot=filenames[i].substring(last);&lt;br /&gt;                }else{&lt;br /&gt;                    head=filenames[i];&lt;br /&gt;                    foot="";&lt;br /&gt;                }&lt;br /&gt;              &lt;br /&gt;                int sx=1;&lt;br /&gt;                while(map.get(newname)!=null){&lt;br /&gt;                    newname=head+"_"+sx+foot;&lt;br /&gt;                    sx++;&lt;br /&gt;                    if(sx&gt;max){&lt;br /&gt;                        throw new IOException("can't filename renamed");&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                result[i]=newname;&lt;br /&gt;                map.put(newname,"");&lt;br /&gt;           &lt;br /&gt;        }&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111222106600877069?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111222106600877069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111222106600877069&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111222106600877069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111222106600877069'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/on-windows-these-character-cant-use.html' title='on windows these character cant&apos; use'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111072827445661204</id><published>2005-03-13T07:36:00.000-08:00</published><updated>2005-03-13T07:37:54.456-08:00</updated><title type='text'>akj speechtools</title><content type='html'>today i upload my eclipse rcp speech tools.&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/akjrcp/files/?release_id=13713#13713"&gt;http://sourceforge.jp/projects/akjrcp/files/?release_id=13713#13713&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;this is simply wrapped freetts &amp;amp; mbrola.&lt;br /&gt;&lt;br /&gt;try it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111072827445661204?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111072827445661204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111072827445661204&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111072827445661204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111072827445661204'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/akj-speechtools.html' title='akj speechtools'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111067342527413340</id><published>2005-03-12T16:21:00.000-08:00</published><updated>2005-03-12T16:23:45.276-08:00</updated><title type='text'>create account in sourceforge.jp</title><content type='html'>If it was possible i'd like to create project at sourceforge.net.&lt;br /&gt;but my project was rejected.and becouse of my poor enligh skills, i can't explain my projects.&lt;br /&gt;&lt;br /&gt;any way.&lt;br /&gt;check my site&lt;a href="http://sourceforge.jp/projects/akjrcp/"&gt; http://sourceforge.jp/projects/akjrcp/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111067342527413340?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111067342527413340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111067342527413340&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111067342527413340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111067342527413340'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/create-account-in-sourceforgejp.html' title='create account in sourceforge.jp'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111057560988153554</id><published>2005-03-11T13:06:00.000-08:00</published><updated>2005-03-11T13:16:02.916-08:00</updated><title type='text'>how to change your eclipse rcp application's title and icon</title><content type='html'>if you hurry anyway,you can do that.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;public class OptipngWrapperWorkbenchAdvisor extends WorkbenchAdvisor{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;configurer.setTitle(Messages.getString("optipng_title")); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Image logoImage=ImageDescriptor.createFromURL(OptipngWrapperPlugin.getDefault().find(new Path("icons/akj_eclipse.png"))).createImage(); //$NON-NLS-1$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;configurer.getWindow().getShell().setImage(logoImage);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;but this approach has problem. selected icon isn't deliverd to other shell (Help or Updates)&lt;br /&gt;that's not so important thing.&lt;br /&gt;&lt;br /&gt;but I recomend you use &lt;span style="font-weight: bold;"&gt;product&lt;/span&gt; extension point.&lt;br /&gt;more detail see&lt;br /&gt;&lt;a href="http://eclipse.org/articles/Article-Branding/branding-your-application.html"&gt;http://eclipse.org/articles/Article-Branding/branding-your-application.html&lt;/a&gt;&lt;br /&gt;&amp;lt;extension&lt;br /&gt;    id="product"&lt;br /&gt;     point="org.eclipse.core.runtime.products"&amp;gt;&lt;br /&gt;     &amp;lt;product name="akJ Speech Tools"&lt;br /&gt;     application="org.jpn.xucker.rcp.speech.SpeechApplication"&lt;br /&gt;     &amp;gt;&lt;br /&gt;     &amp;lt;property name="windowImage" value="icons/akj.png"/&amp;gt;&lt;br /&gt;     &amp;lt;/product&amp;gt;&lt;br /&gt;&amp;lt;/extension&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111057560988153554?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111057560988153554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111057560988153554&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111057560988153554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111057560988153554'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/how-to-change-your-eclipse-rcp.html' title='how to change your eclipse rcp application&apos;s title and icon'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111049060387761332</id><published>2005-03-10T13:32:00.000-08:00</published><updated>2005-03-10T13:36:43.883-08:00</updated><title type='text'>How to IAction Disable or Enable</title><content type='html'>when you something action.you hope disable other action.&lt;br /&gt;at first i didn't found them. finally i found that.&lt;br /&gt;I don't know ,is that right?&lt;br /&gt;but i use that code.&lt;br /&gt;you call this method from view,or change 'this'.&lt;br /&gt;on id-String .use Action ID.&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;private void setEnabled(boolean bool,String id){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;        IContributionItem ic=this.getViewSite().getActionBars().getToolBarManager().find(id);&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;        if(ic!=null &amp;&amp;amp; ic instanceof ActionContributionItem){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;        IAction iaction=((ActionContributionItem)ic).getAction();&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;        iaction.setEnabled(bool);&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;        }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;    }&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111049060387761332?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111049060387761332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111049060387761332&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111049060387761332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111049060387761332'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/how-to-iaction-disable-or-enable.html' title='How to IAction Disable or Enable'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111036936185087422</id><published>2005-03-09T03:53:00.000-08:00</published><updated>2005-03-09T03:56:01.850-08:00</updated><title type='text'>Open Editor on Eclipse RCP</title><content type='html'>see that samples.&lt;br /&gt;&lt;a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-text-home/development/rcp/examples/index.html"&gt;http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-text-home/development/rcp/examples/index.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;that's  difficult.&lt;br /&gt;even in open text files,i should create some classes.&lt;br /&gt;and now I'dont know how to use other editor plugin.&lt;br /&gt;when i open file.&lt;br /&gt;it coused that error&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;org.eclipse.ui.PartInitException: Text editor does not have a document provider&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;maybe on 3.1,that become more easy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111036936185087422?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111036936185087422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111036936185087422&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111036936185087422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111036936185087422'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/open-editor-on-eclipse-rcp.html' title='Open Editor on Eclipse RCP'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111035941925492513</id><published>2005-03-09T01:09:00.000-08:00</published><updated>2005-03-09T01:11:23.216-08:00</updated><title type='text'>give up handle moving view.</title><content type='html'>on Eclipse 3.01 Windows XP&lt;br /&gt;&lt;br /&gt;I don't know how to handle movable views,and&lt;br /&gt;I give up using them.&lt;br /&gt;&lt;br /&gt;I choose 2 rules.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 1.Never use folder.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 2.Use &lt;/span&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;setFixed(true)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; when use &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0); font-weight: bold;"&gt;s&lt;/span&gt;&lt;span style="color: rgb(255, 153, 0); font-weight: bold;"&gt;etEditorAreaVisible(false)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;why folder is movable.&lt;br /&gt;and folder can't back window.&lt;br /&gt;&lt;br /&gt;when use &lt;span style="color: rgb(255, 153, 0);"&gt;setEditorAreaVisible(false)&lt;/span&gt; and all views go out,&lt;br /&gt;view didn't come back alone.&lt;br /&gt;maybe everyuser panic that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111035941925492513?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111035941925492513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111035941925492513&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111035941925492513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111035941925492513'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/give-up-handle-moving-view.html' title='give up handle moving view.'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111031336893868274</id><published>2005-03-08T12:20:00.000-08:00</published><updated>2005-03-08T12:25:43.486-08:00</updated><title type='text'></title><content type='html'>Today I try to add preferences my application.&lt;br /&gt;that is something easy.&lt;br /&gt;&lt;br /&gt;if you wish use preferences. call that.&lt;br /&gt;&lt;br /&gt;&lt;p style="color: rgb(102, 102, 102);"&gt; PreferenceManager m=PlatformUI.getWorkbench().getPreferenceManager();&lt;/p&gt;      &lt;p style="color: rgb(102, 102, 102);"&gt; PreferenceDialog dialog=new PreferenceDialog(window.getShell(),m);&lt;/p&gt;      &lt;p style="color: rgb(102, 102, 102);"&gt;dialog.open();&lt;/p&gt; off course you should create preference extentions(org.&lt;a class="keyword" href="http://d.hatena.ne.jp/keyword/eclipse"&gt;eclipse&lt;/a&gt;.ui.preferencePages).&lt;br /&gt;&lt;br /&gt;&lt;p style="color: rgb(153, 153, 153);"&gt;   &lt;extension&gt;&lt;/extension&gt;&lt;/p&gt; &lt;p style="color: rgb(153, 153, 153);"&gt;&lt;br /&gt;         &lt;/p&gt; &lt;p style="color: rgb(153, 153, 153);"&gt;   &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111031336893868274?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111031336893868274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111031336893868274&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111031336893868274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111031336893868274'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/today-i-try-to-add-preferences-my.html' title=''/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111008759379060010</id><published>2005-03-05T21:24:00.000-08:00</published><updated>2005-03-05T21:39:53.790-08:00</updated><title type='text'>try Eclipse UpdateManager</title><content type='html'>Today I try to implement  UpdateManager.&lt;br /&gt;I see the Update Sites  of  Eclipse Help.&lt;br /&gt;and I create  Feature Project and  Update Site Project.&lt;br /&gt;I confused  version and other,but finnlay I  succede.&lt;br /&gt;&lt;br /&gt;but there are problem.if i use UpdateManagerUI.openInstaller(),&lt;br /&gt;include too many other plugins. and my application became really fat size.&lt;br /&gt;&lt;br /&gt;so i'd like to release my application as zip archive files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111008759379060010?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111008759379060010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111008759379060010&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111008759379060010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111008759379060010'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/try-eclipse-updatemanager.html' title='try Eclipse UpdateManager'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111004639184189904</id><published>2005-03-05T10:09:00.000-08:00</published><updated>2005-03-05T10:13:11.843-08:00</updated><title type='text'>my first eclipse rcp application (ak Optipng wrapper)</title><content type='html'>hello&lt;br /&gt;this is my first eclipse rcp applicaltion.&lt;br /&gt;&lt;a href="http://www.xucker.jpn.org/product/akjoptipngwrapper.zip"&gt;http://www.xucker.jpn.org/product/akjoptipngwrapper.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;this optimize png file size by calling the optipng which is command-line application.&lt;br /&gt;soon i'd like to show source code,please wait finish to  refactoring.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111004639184189904?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111004639184189904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111004639184189904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111004639184189904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111004639184189904'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/my-first-eclipse-rcp-application-ak.html' title='my first eclipse rcp application (ak Optipng wrapper)'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111002409904468028</id><published>2005-03-05T03:58:00.000-08:00</published><updated>2005-03-05T04:01:39.050-08:00</updated><title type='text'>JSmooth example for Eclipse RCP</title><content type='html'>if you don't know how to use NSIS like me and you know how to use JSmooth,&lt;br /&gt;maybe it's is userful for you.&lt;br /&gt;You msut change applicationclass and exe-name.&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;&lt;br /&gt;&lt;jsmoothproject&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;registry&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;javahome&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;jrepath&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;jdkpath&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;exepath&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;jvmsearchpath&gt;jview&lt;/jvmsearchpath&gt;&lt;br /&gt;&lt;arguments&gt;-application org.jpn.xucker.rcp.optipngwrapper.OptipngWrapperApplication %*&lt;/arguments&gt;&lt;br /&gt;&lt;classpath&gt;startup.jar&lt;/classpath&gt;&lt;br /&gt;&lt;currentdirectory&gt;.&lt;/currentdirectory&gt;&lt;br /&gt;&lt;embeddedjar&gt;false&lt;/embeddedjar&gt;&lt;br /&gt;&lt;executablename&gt;akjoptipngwrapper.exe&lt;/executablename&gt;&lt;br /&gt;&lt;iconlocation&gt;icon.png&lt;/iconlocation&gt;&lt;br /&gt;&lt;initialmemoryheap&gt;-1&lt;/initialmemoryheap&gt;&lt;br /&gt;&lt;mainclassname&gt;org.eclipse.core.launcher.Main&lt;/mainclassname&gt;&lt;br /&gt;&lt;maximummemoryheap&gt;-1&lt;/maximummemoryheap&gt;&lt;br /&gt;&lt;maximumversion&gt;&lt;/maximumversion&gt;&lt;br /&gt;&lt;minimumversion&gt;&lt;/minimumversion&gt;&lt;br /&gt;&lt;skeletonname&gt;Windowed Wrapper&lt;/skeletonname&gt;&lt;br /&gt;&lt;skeletonproperties&gt;&lt;br /&gt;&lt;key&gt;Message&lt;/key&gt;&lt;br /&gt;&lt;value&gt;Need Install Java&lt;/value&gt;&lt;br /&gt;&lt;/skeletonproperties&gt;&lt;br /&gt;&lt;skeletonproperties&gt;&lt;br /&gt;&lt;key&gt;URL&lt;/key&gt;&lt;br /&gt;&lt;value&gt;http://www.java.com/&lt;/value&gt;&lt;br /&gt;&lt;/skeletonproperties&gt;&lt;br /&gt;&lt;skeletonproperties&gt;&lt;br /&gt;&lt;key&gt;SingleProcess&lt;/key&gt;&lt;br /&gt;&lt;value&gt;0&lt;/value&gt;&lt;br /&gt;&lt;/skeletonproperties&gt;&lt;br /&gt;&lt;skeletonproperties&gt;&lt;br /&gt;&lt;key&gt;Debug&lt;/key&gt;&lt;br /&gt;&lt;value&gt;0&lt;/value&gt;&lt;br /&gt;&lt;/skeletonproperties&gt;&lt;br /&gt;&lt;/jsmoothproject&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111002409904468028?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111002409904468028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111002409904468028&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111002409904468028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111002409904468028'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/jsmooth-example-for-eclipse-rcp.html' title='JSmooth example for Eclipse RCP'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-111002380777139283</id><published>2005-03-05T03:54:00.000-08:00</published><updated>2005-03-05T03:56:47.773-08:00</updated><title type='text'>how to get plugin dir on Eclipse RCP?</title><content type='html'>finally i choose that aproach.i don't that is best way.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;    public File toPluginDir(Plugin plugin){&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;        return new File(Platform.getInstallLocation().getURL().getPath(),&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;                "plugins/"&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;                +plugin.getBundle().getSymbolicName()&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;                +"_"&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;                +plugin.getBundle().getHeaders().get("Bundle-Version"));   &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;it's too difficult for me handle the Bundle Class.&lt;br /&gt;it's sample of bundle.getHeaders() values.&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-ClassPath='rcp_optipngwrapper.jar'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-Name='akJ OptipngWrapper Plug-in'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-Version='1.0.2'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-Localization='plugin'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Generated-from='1110021669453;type=2'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-SymbolicName='org.jpn.xucker.rcp.optipngwrapper; singleton=true'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Require-Bundle='org.jpn.xucker.commons,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt; org.eclipse.ui,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt; org.eclipse.core.runtime'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-Activator='org.jpn.xucker.rcp.optipngwrapper.OptipngWrapperPlugin'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Eclipse-AutoStart='true'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Bundle-Vendor='www.xucker.jpn.org'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Manifest-Version='1.0'&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;Provide-Package='org.jpn.xucker.rcp.optipngwrapper,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(192, 192, 192);"&gt; org.jpn.xucker.optipngwrapper'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-111002380777139283?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/111002380777139283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=111002380777139283&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111002380777139283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/111002380777139283'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/how-to-get-plugin-dir-on-eclipse-rcp.html' title='how to get plugin dir on Eclipse RCP?'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10989464.post-110968186622577632</id><published>2005-03-01T04:54:00.000-08:00</published><updated>2005-03-01T04:57:46.226-08:00</updated><title type='text'>Free Culture Srt-Sub File</title><content type='html'>Today I created srt-sub file from &lt;span style="font-weight: bold;"&gt;Free Culture&lt;/span&gt; Audio book.&lt;br /&gt;&lt;br /&gt;now it's only 1 files.&lt;br /&gt;but one day i'd like to create all file and post  &lt;a href="http://free-culture.org/remixes/"&gt;there&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sample&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;-----&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;1&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;00:00:01,560 --&gt; 00:00:03,670&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;At the end of his review of my first book&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;2&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;00:00:03,710 --&gt; 00:00:05,690&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;Code: And Other Laws of Cyberspace&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic; font-weight: bold; color: rgb(192, 192, 192);"&gt;----&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;download from &lt;a href="http://www.xucker.jpn.org/cc/freeculture_srt.zip"&gt;here&lt;/a&gt; &lt;br /&gt;this works licensed under&lt;br /&gt;Attribution-NonCommercial 2.0 Japan&lt;br /&gt;http://creativecommons.org/licenses/by-nc/2.0/jp/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10989464-110968186622577632?l=openordie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openordie.blogspot.com/feeds/110968186622577632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10989464&amp;postID=110968186622577632&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/110968186622577632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10989464/posts/default/110968186622577632'/><link rel='alternate' type='text/html' href='http://openordie.blogspot.com/2005/03/free-culture-srt-sub-file.html' title='Free Culture Srt-Sub File'/><author><name>aki</name><uri>http://www.blogger.com/profile/01386791133328420996</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10047880185860218166'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>