<?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-3787222091533780744</id><updated>2009-11-12T16:35:28.439+02:00</updated><title type='text'>GWTFuse</title><subtitle type='html'>GWTFuse - make an easy start with GWT</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-3003268867588528146</id><published>2009-02-09T10:26:00.005+02:00</published><updated>2009-02-09T10:32:16.375+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>Why gwt date picker is too slow</title><content type='html'>Recently i noticed, that GWT DatePicker from incubator is too slow in some firefox browsers. It was extremly slow, and when i clicked just to change a month, sometimes it took around 5 sec!!!&lt;br /&gt;&lt;br /&gt;Amazing, it was worked fine in some others computers, and there is no difference if i'm running linux firefox or windows firefox.&lt;br /&gt;&lt;br /&gt;After a while, i discovered, that it is a FireBug plugin for firefox. When i disabled it, DatePicker became as fast as in Iexplorer browser! So, if you have some debugging or other plugins enabled, it can slowdown the GWT code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-3003268867588528146?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/3003268867588528146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=3003268867588528146&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/3003268867588528146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/3003268867588528146'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2009/02/why-gwt-date-picker-is-too-slow.html' title='Why gwt date picker is too slow'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-1848925161840882369</id><published>2008-11-14T14:42:00.006+02:00</published><updated>2008-11-14T19:30:10.342+02:00</updated><title type='text'>Simple LightBox GWT Dialog with background</title><content type='html'>Sorry, guys, I'm not a fun of JavaSript world, and even there is a lot of good stuff in libraries, such as Sriptools, jquery, Dojo ...&amp;nbsp; i'm trying to avoid them, if it is possible.&lt;br /&gt;Since GWT was released, they make a possible for me to be in Javascript world, using my favorite language Java.&lt;br /&gt;And now, when i need to get something simple, for example the light box effect, i found at internet several wrappers of JavaScript libraries, who does it for me. And ... to use them, i need to add to my project several kilobytes of JavaSript code ... :(&lt;br /&gt;Since i'm trying to avoid this, i did simple example how to do the background effect with GWT without a dependencies from other libraries... Plain GWT ;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ON7OSu7G6NA/SR10DadOXHI/AAAAAAAAAJw/SSEEGPgJbiA/s1600-h/LightBoxDialog2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_ON7OSu7G6NA/SR10DadOXHI/AAAAAAAAAJw/SSEEGPgJbiA/s320/LightBoxDialog2.png" /&gt;&lt;/a&gt; &lt;img border="0" src="http://1.bp.blogspot.com/_ON7OSu7G6NA/SR1z1IRhADI/AAAAAAAAAJo/YcHpagTxFj8/s320/LightBoxDialog.png" /&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There is a sources snapshot, as well, you can get sources from: &lt;a href="http://code.google.com/p/gwtfuse/"&gt;gwtFuse&lt;/a&gt;&lt;br /&gt;&lt;ul id="ads0"&gt;&lt;li id="taw1" onfocus="ss('','aw1')" onmouseover="ss('','aw1')"&gt;&lt;div class="ad"&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="adc"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="middle"&gt;&lt;a class="adt" href="http://pagead2.googlesyndication.com/pagead/iclk?sa=l&amp;amp;ai=BpvAvIrUdSc7GBoPa0Aae26mhCvGZ61u3wrbgB8CNtwHQhgMQAhgCINrI1REoBDgAUP7xruz______wFgxaHngeAGoAHChLf_A7IBFGd3dGZ1c2UuYmxvZ3Nwb3QuY29tugEKMzM2eDI4MF9hc8gBAdoBHGh0dHA6Ly9nd3RmdXNlLmJsb2dzcG90LmNvbS-AAgGoAwGwA5KVoAbIAwfoAyDoAx_oA9wF9QMIAAAAmAQA&amp;amp;num=2&amp;amp;adurl=http://www.desisoft.com/jaxcent/gwt.html&amp;amp;client=ca-pub-0927393053009522&amp;amp;nm=33" id="aw1" onclick="ha('aw1')" onfocus="ss('','aw1')" onmousedown="st('aw1')" onmouseover="return ss('','aw1')" target="_top"&gt;&lt;span&gt;An Altetnative to GWT&lt;/span&gt;&lt;/a&gt;&lt;div class="adb"&gt;Java-only AJAX framework. Server side. Very straightforward coding. &lt;/div&gt;&lt;div class="adu"&gt;&lt;span class="adus" id="uaw1" onclick="ga(this,event)" onmousedown="st(this.id.substr(1))"&gt;www.desisoft.com/jaxcent/gwt.html&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="taw2" onfocus="ss('','aw2')" onmouseover="ss('','aw2')"&gt;&lt;div class="ad"&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="adc"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="middle"&gt;&lt;a class="adt" href="http://pagead2.googlesyndication.com/pagead/iclk?sa=l&amp;amp;ai=Bwr_BIrUdSc7GBoPa0Aae26mhCo24tYgBx_ubxAbAjbcB0IYDEAMYAyDayNURKAQ4AFCv4rz9B2DFoeeB4AayARRnd3RmdXNlLmJsb2dzcG90LmNvbboBCjMzNngyODBfYXPIAQHaARxodHRwOi8vZ3d0ZnVzZS5ibG9nc3BvdC5jb20vgAIBqQJnQ92LWFm1PqgDAbADkpWgBsgDB-gDIOgDH-gD3AX1AwgAAACYBAA&amp;amp;num=3&amp;amp;adurl=http://www.maartenvolders.com/training.html&amp;amp;client=ca-pub-0927393053009522&amp;amp;nm=32" id="aw2" onclick="ha('aw2')" onfocus="ss('','aw2')" onmousedown="st('aw2')" onmouseover="return ss('','aw2')" target="_top"&gt;&lt;span&gt;Professional GWT Training&lt;/span&gt;&lt;/a&gt;&lt;div class="adb"&gt;In depth hands on lab sessions Demystifying GWT &lt;/div&gt;&lt;div class="adu"&gt;&lt;span class="adus" id="uaw2" onclick="ga(this,event)" onmousedown="st(this.id.substr(1))"&gt;www.maartenvolders.co&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;--- Sponsor Links&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;/**&lt;br /&gt;* LightBox dialog provide an example of using 'Background Screen' behind dialogs&lt;br /&gt;*&lt;br /&gt;* @author Viktor Zaprudnev&lt;br /&gt;*&lt;br /&gt;* More information here:&lt;br /&gt;* http://gwtfuse.blogspot.com/&lt;br /&gt;* Source code can be found here:&lt;br /&gt;* http://code.google.com/p/gwtfuse&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public class LightBoxDialog extends DialogBox {&lt;br /&gt;&lt;br /&gt;protected String backgroundScreenHtmlTemplate =&lt;br /&gt;"&amp;lt; div style= ' "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +" background-color: navy; "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +"/*needs to be BELOW popup*//*z-index: 3;*/ "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +" filter: alpha(opacity=20); opacity:0.2;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +" height: DIV_HEIGHTpx; width: DIV_WIDTHpx; "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +" position: absolute; "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +" top: 0px; left: 0px; "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +"'&amp;gt; &lt;br /&gt;&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;protected HTML backgroundScreen ;&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;&amp;nbsp; protected void onLoad() {&lt;br /&gt;&amp;nbsp; super.onLoad();&lt;br /&gt;&amp;nbsp; attachBackgroundScreenToRootPanel();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void attachBackgroundScreenToRootPanel() {&lt;br /&gt;&amp;nbsp; if (backgroundScreen == null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String html = backgroundScreenHtmlTemplate.replaceAll("DIV_WIDTH", ""+RootPanel.get().getOffsetWidth());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = html.replaceAll("DIV_HEIGHT", ""+RootPanel.get().getOffsetHeight());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; backgroundScreen = new HTML(html);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;if ( RootPanel.get().getWidgetIndex(backgroundScreen) &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // background already attached&lt;br /&gt;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp; backgroundScreen.setVisible( false );&lt;br /&gt;&amp;nbsp; RootPanel.get().add( backgroundScreen );&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**********************************&lt;br /&gt;&lt;br /&gt;* Constructors&lt;br /&gt;&lt;br /&gt;**********************************/&lt;br /&gt;&lt;br /&gt;public LightBoxDialog() {&lt;br /&gt;&amp;nbsp; super();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public LightBoxDialog(boolean autoHide) {&lt;br /&gt;&amp;nbsp; super(autoHide);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* accept custom HTML template for the background:&lt;br /&gt;* @param backgroundScreenHTMLTemplate&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public LightBoxDialog(String backgroundScreenHTMLTemplate) {&lt;br /&gt;&amp;nbsp; this();&lt;br /&gt;&amp;nbsp; this.backgroundScreenHtmlTemplate = backgroundScreenHTMLTemplate;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* accept custom HTML template for the background:&lt;br /&gt;* @param backgroundScreenHTMLTemplate&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public LightBoxDialog(String backgroundScreenHTMLTemplate, boolean autoHide) {&lt;br /&gt;&amp;nbsp; this(autoHide);&lt;br /&gt;&amp;nbsp; this.backgroundScreenHtmlTemplate = backgroundScreenHTMLTemplate;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/***********************************************************&lt;br /&gt;* Overriden methods, for supporting an background fading&lt;br /&gt;***********************************************************/&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void show() {&lt;br /&gt;&amp;nbsp; super.show();&lt;br /&gt;&amp;nbsp; backgroundScreen.setVisible( true );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;&amp;nbsp; public void hide() {&lt;br /&gt;&amp;nbsp; super.hide();&lt;br /&gt;&amp;nbsp; backgroundScreen.setVisible( false );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void hide(boolean autoClosed) {&lt;br /&gt;&amp;nbsp; super.hide(autoClosed);&lt;br /&gt;&amp;nbsp; backgroundScreen.setVisible( false );&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Enjoy! This approach can be used not only for a Dialogs, but everywhere you want ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-1848925161840882369?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/1848925161840882369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=1848925161840882369&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/1848925161840882369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/1848925161840882369'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/11/simple-lightbox-gwt-dialog-with.html' title='Simple LightBox GWT Dialog with background'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ON7OSu7G6NA/SR10DadOXHI/AAAAAAAAAJw/SSEEGPgJbiA/s72-c/LightBoxDialog2.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-8147196392427321951</id><published>2008-11-12T22:43:00.004+02:00</published><updated>2008-11-12T22:56:20.306+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='ireport'/><category scheme='http://www.blogger.com/atom/ns#' term='viktex'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='jasper'/><category scheme='http://www.blogger.com/atom/ns#' term='reports'/><title type='text'>How To Integrate GWT (GWT-EXT) and  JasperReports</title><content type='html'>&lt;strong&gt;First part, why reports?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;You are enthusiastic researcher of new technologies, freelancer and now you are developing an corporate solution, based on Google Web Toolkit (GWT). And once, your lovely customer call to you at one at night, and asking you about new features he wants – reports and asking you to meet tomorrow morning and discuss about it! Op… Ok, he is also promising to you free coffee and inviting you to the private party … so you agreed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;You are angry, what the f… it is… reports? Why? There is so nice gwt-ext panel, buttons, windows …. But, you always following the style of customer friendly behavior, so, you are deciding to make client happy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;So, let’s start with a task definition.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Task Definition&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;We have a goal to create a prototype of report generation, viewing and exporting to the different file formats. Task is not so hard, but as well requires knowledge and some tricks to do it well. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Requirements to accomplish task&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;To make an complete solution, you need to get and install next tools:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Eclipse IDE - &lt;/span&gt;&lt;a href="http://www.eclipse.org/downloads/"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.eclipse.org/downloads/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Google Web Toolkit - &lt;/span&gt;&lt;a href="http://code.google.com/webtoolkit/gettingstarted.html"&gt;&lt;span style="font-family:times new roman;"&gt;http://code.google.com/webtoolkit/gettingstarted.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;JasperReports - &lt;/span&gt;&lt;a href="http://www.jaspersoft.com/"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.jaspersoft.com/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;iReport - &lt;/span&gt;&lt;a href="http://ireport.sourceforge.net/"&gt;&lt;span style="font-family:times new roman;"&gt;http://ireport.sourceforge.net/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Tomcat 5.x/6 - &lt;/span&gt;&lt;a href="http://tomcat.apache.org/"&gt;&lt;span style="font-family:times new roman;"&gt;http://tomcat.apache.org/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Ant - &lt;/span&gt;&lt;a href="http://ant.apache.org/"&gt;&lt;span style="font-family:times new roman;"&gt;http://ant.apache.org/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Gwt (Gwt-Ext) application:)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;Some facts about JasperReports&lt;/span&gt; &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;JasperReports is one of the most popular Open Source libraries for a report generation. It has a good possibilities for integration with java applications.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267864610326791250" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 252px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs28-dhRFI/AAAAAAAAADY/A_EmP4OpBzs/s320/image001.png" border="0" /&gt;&lt;span style="font-family:times new roman;"&gt;Reports definitions is a plain XML files, so it allows in the future to create new reports, using a velocity template engine(&lt;/span&gt;&lt;a href="http://velocity.apache.org/"&gt;&lt;span style="font-family:times new roman;"&gt;http://velocity.apache.org/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;), Jelly (&lt;/span&gt;&lt;a href="http://commons.apache.org/jelly/"&gt;&lt;span style="font-family:times new roman;"&gt;http://commons.apache.org/jelly/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;) or other template tools. Report definition files has an extension: *.jrxml.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;After you are created a definition, it compiles and you are getting a *.jasper files.&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-family:times new roman;"&gt;JasperCompileManager.compileReportToFile("WebappReport.jrxml");&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:times new roman;"&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;Some cases it is convenient, since it allows to hide definitions from customer, by giving him an compiled report, but not the sources.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;After compilation is done, you should execute report using JasperFillManager.fillReport() to get  JasperPrint object (you can then store it to the file).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;Actually, you already got an report and can use it! You can use a wide collection of exporters to export it to any format you like: JexcelApiExporter, JexcelApiExporterNature, JexcelApiExporterParameter, JRCsvExporter, JRGraphics2Dexporter, JRHtmlExporter, JRPdfExporter, JRPrintServiceExporter, JRRtfExporter, JRTextExporter, JRXlsExporter, JRXmlExporter.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;Application prototype &lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;For a prototype of an application I took GWT-Ext Showcase2 and changed it, to accomplish the customer needs.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5267865792805577330" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 328px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_cJRcq0RQPpM/SRs4BzibonI/AAAAAAAAADg/HHwf8bKM6Qw/s400/image003.png" border="0" /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;When you are clicking “Logined users”, information is opened in new tab, showing a details. Everything is clear, isn’t? So, continue step by step. &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;p&gt;&lt;strong&gt;Step One&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So, let’s start with Jasper and create report.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;We have jasperreports-3.1.2-project.zip, extract it to C:\demo\jasper. And at folder “demo\samples\webapp” we should to find report WebappReport.jrxml (great example for report running under the web)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Than, using iReport changing report, making it looks nice: put logo of company, change a title and configuring JDBC DataSource and Report Query.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5267866504814555890" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 131px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_cJRcq0RQPpM/SRs4rP-mcvI/AAAAAAAAADo/vsOSEVuZxLM/s320/image006.jpg" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Necessary changes in servlets &lt;br /&gt;    “demo\samples\webapp\WEB-INF\classes\servlets” – making possible to start a report using parameter ‘reportfile’: &lt;br /&gt; String rp = req.getParameter(“reportfile”);&lt;br /&gt; String reportFileName = context.getRealPath("/reports/”+rp+”.jasper");&lt;br /&gt; “demo\samples\webapp” for testing – in HTML all links changing to “?reportfile=WebappReport”;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:times new roman;"&gt;At root folder “ demo\samples\webapp” we need to run ANT.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267867172858124402" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 99px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_cJRcq0RQPpM/SRs5SIomWHI/AAAAAAAAAEA/VhZTfdfqY-M/s400/image008.jpg" border="0" /&gt;&lt;br /&gt;After we need a little bit to configure Tomcat, coping content “demo\samples\webapp”  to the Tomcat ”webapps\jasper” and run it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;Than easy step: open a browser and go to url: (be careful, your port number can be different) &lt;br /&gt;&lt;a href="http://localhost:8887/jasper/"&gt;http://localhost:8887/jasper/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267869033476345522" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 266px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs6-b-jTrI/AAAAAAAAAEQ/1B6XMq7-V-g/s400/image010.jpg" border="0" /&gt;&lt;span style="font-family:times new roman;"&gt;It should be like above. Great job, it works!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Second step&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;So, we have a working report, and now we want to run it using gwt application. The sample application should be like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5267869036611281362" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 282px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs6-np-odI/AAAAAAAAAEY/vxRgGTtGav8/s400/image012.jpg" border="0" /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;Let’s integrate GWT and Jasper together!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;Creating an simplest ReportManager class with static methods:&lt;br /&gt;public class ReportManager {&lt;br /&gt;public static String getExportReportURL(String report, String exptype){&lt;br /&gt;return "http://localhost:8887/jasper/servlets/"+exptype+"?reportfile=" + report;&lt;br /&gt;};&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:times new roman;"&gt;}&lt;br /&gt;&lt;p&gt;Than, we should to create an Panel:&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:times new roman;"&gt;Panel centerPanel = new Panel();&lt;br /&gt;centerPanel.setLayout(new BorderLayout());&lt;br /&gt;centerPanel.setTitle("Sessions");&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;String rep_url = ReportManager.getExportReportURL("WebappReport","html");&lt;br /&gt;final Frame frame = new Frame(rep_url);&lt;br /&gt;centerPanel.add(frame, new BorderLayoutData(RegionPosition.CENTER));&lt;br /&gt;&lt;br /&gt;Toolbar toolbar = new Toolbar();&lt;br /&gt;toolbar.addFill();&lt;br /&gt;ToolbarButton toolbarButton = new ToolbarButton("PDF", new ButtonListenerAdapter() {&lt;br /&gt;public void onClick(Button button, EventObject e) {&lt;br /&gt;frame.setUrl(ReportManager.getExportReportURL("WebappReport","pdf"));&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;Run a project in Host Mode, clicking to the button “Logined users” and .... Oppa!  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267869042147709074" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 329px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs6-8R90JI/AAAAAAAAAEg/W2oLL5JruCY/s400/image014.jpg" border="0" /&gt;&lt;span style="font-family:times new roman;"&gt;If you want to see it in pdf, just click to the button export to “PDF”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267869053771719378" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 328px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs6_nlWItI/AAAAAAAAAEo/-0yAObOpCPg/s400/image016.jpg" border="0" /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;So, everything you need now… sleep, meet with a client and with cup of tea share with him great perspectives of his business :)&lt;/span&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-8147196392427321951?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/8147196392427321951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=8147196392427321951&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8147196392427321951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8147196392427321951'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/11/how-to-integrate-gwt-gwt-ext-and.html' title='How To Integrate GWT (GWT-EXT) and  JasperReports'/><author><name>Alexey Zaprudnev</name><uri>http://www.blogger.com/profile/13879898732909647797</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15001692757210612139'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cJRcq0RQPpM/SRs28-dhRFI/AAAAAAAAADY/A_EmP4OpBzs/s72-c/image001.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-8812194953500129603</id><published>2008-11-06T22:29:00.006+02:00</published><updated>2008-11-14T19:31:09.515+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='stack panel'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>How to make GWT stack panel (Outlook Style)</title><content type='html'>Today i decided to publish Outlook Style GWT stack panel. &lt;br /&gt;Why i decided to design Outlook Style GWT stack panel?&lt;br /&gt;First of all, i wanted to do a simple stack panel, that works like Outlook. &lt;br /&gt;I mean, not looks like, but works. &lt;br /&gt;I was surprised, that GWT StackPanel doesn't support simple StackPanel algorithm, &lt;br /&gt;that not moving tabs and content. It is really annoying, to see, how is moving your content, and trying to catch it. Can you imagine, how it looks, if you have 10 tabs? So, to find a content of last tab, you need to scroll to the end of page. &lt;br /&gt;&lt;br /&gt;OutlookStackPanel has new element: header. &lt;br /&gt;Evry time, you clicked a button, header display current title and content display the necessary content. Buttons stays at place and not moving. &lt;br /&gt;&lt;br /&gt;There is some screen shots:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(since my english not so good, it is easier to see, to understand, what i'm talking about)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ON7OSu7G6NA/SRNNhI5xN3I/AAAAAAAAAJY/Hjl3f5xeTeU/s1600-h/OutlookStackPanel.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5265637621047048050" src="http://3.bp.blogspot.com/_ON7OSu7G6NA/SRNNhI5xN3I/AAAAAAAAAJY/Hjl3f5xeTeU/s320/OutlookStackPanel.png" style="cursor: pointer; height: 320px; margin: 0pt 0pt 10px 10px; width: 192px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One more picture, to see how it works.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_ON7OSu7G6NA/SRNOGPMLAbI/AAAAAAAAAJg/uNHjxGNHXLs/s1600-h/OutlookStackPanel2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5265638258390008242" src="http://1.bp.blogspot.com/_ON7OSu7G6NA/SRNOGPMLAbI/AAAAAAAAAJg/uNHjxGNHXLs/s320/OutlookStackPanel2.png" style="cursor: pointer; height: 320px; margin: 0pt 0pt 10px 10px; width: 191px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is implemented using a GWT DockPanel.&lt;br /&gt;&lt;br /&gt;There is my sponsor:&lt;br /&gt;&lt;a class="adt" href="http://pagead2.googlesyndication.com/pagead/iclk?sa=l&amp;amp;ai=BpvAvIrUdSc7GBoPa0Aae26mhCvGZ61u3wrbgB8CNtwHQhgMQAhgCINrI1REoBDgAUP7xruz______wFgxaHngeAGoAHChLf_A7IBFGd3dGZ1c2UuYmxvZ3Nwb3QuY29tugEKMzM2eDI4MF9hc8gBAdoBHGh0dHA6Ly9nd3RmdXNlLmJsb2dzcG90LmNvbS-AAgGoAwGwA5KVoAbIAwfoAyDoAx_oA9wF9QMIAAAAmAQA&amp;amp;num=2&amp;amp;adurl=http://www.desisoft.com/jaxcent/gwt.html&amp;amp;client=ca-pub-0927393053009522&amp;amp;nm=33" id="aw1" onclick="ha('aw1')" onfocus="ss('','aw1')" onmousedown="st('aw1')" onmouseover="return ss('','aw1')" target="_top"&gt;&lt;span&gt;An Altetnative to GWT&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="adb"&gt;Java-only AJAX framework. Server side. Very straightforward coding. &lt;/div&gt;&lt;div class="adu"&gt;&lt;span class="adus" id="uaw1" onclick="ga(this,event)" onmousedown="st(this.id.substr(1))"&gt;www.desisoft.com/jaxcent/gwt.html&lt;/span&gt;&lt;/div&gt;&lt;a class="adt" href="http://pagead2.googlesyndication.com/pagead/iclk?sa=l&amp;amp;ai=Bwr_BIrUdSc7GBoPa0Aae26mhCo24tYgBx_ubxAbAjbcB0IYDEAMYAyDayNURKAQ4AFCv4rz9B2DFoeeB4AayARRnd3RmdXNlLmJsb2dzcG90LmNvbboBCjMzNngyODBfYXPIAQHaARxodHRwOi8vZ3d0ZnVzZS5ibG9nc3BvdC5jb20vgAIBqQJnQ92LWFm1PqgDAbADkpWgBsgDB-gDIOgDH-gD3AX1AwgAAACYBAA&amp;amp;num=3&amp;amp;adurl=http://www.maartenvolders.com/training.html&amp;amp;client=ca-pub-0927393053009522&amp;amp;nm=32" id="aw2" onclick="ha('aw2')" onfocus="ss('','aw2')" onmousedown="st('aw2')" onmouseover="return ss('','aw2')" target="_top"&gt;&lt;span&gt;Professional GWT Training&lt;/span&gt;&lt;/a&gt;&lt;div class="adb"&gt;In depth hands on lab sessions Demystifying GWT &lt;/div&gt;&lt;div class="adu"&gt;&lt;span class="adus" id="uaw2" onclick="ga(this,event)" onmousedown="st(this.id.substr(1))"&gt;www.maartenvolders.co&lt;/span&gt;&lt;/div&gt;&lt;div class="adu"&gt;&lt;span class="adus" id="uaw2" onclick="ga(this,event)" onmousedown="st(this.id.substr(1))"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There is code samples:&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Creates an empty stack panel.&lt;br /&gt;*/&lt;br /&gt;public OutlookStackPanel() {&lt;br /&gt;content.setAnimationEnabled(true);&lt;br /&gt;content.setWidth(DEFAULT_WIDTH);&lt;br /&gt;&lt;br /&gt;container.setStyleName(DEFAULT_STYLE);&lt;br /&gt;header.setSize(DEFAULT_WIDTH, DEFAULT_HEADER_HIGHT);&lt;br /&gt;footer.setSize(DEFAULT_WIDTH, "");&lt;br /&gt;&lt;br /&gt;ScrollPanel scroller = new ScrollPanel();&lt;br /&gt;scroller.setAlwaysShowScrollBars(false);&lt;br /&gt;scroller.add(content);&lt;br /&gt;&lt;br /&gt;container.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);&lt;br /&gt;container.add(header);&lt;br /&gt;container.add(scroller);&lt;br /&gt;&lt;br /&gt;container.setVerticalAlignment(HasVerticalAlignment.ALIGN_BOTTOM);&lt;br /&gt;container.add(footer);&lt;br /&gt;&lt;br /&gt;content.setAnimationEnabled(true);&lt;br /&gt;&lt;br /&gt;header.setStyleName(DEFAULT_HEADER_STYLE);&lt;br /&gt;&lt;br /&gt;initWidget(container);&lt;br /&gt;&lt;br /&gt;sinkEvents(Event.ONCLICK);&lt;br /&gt;sinkEvents(Event.ONMOUSEOVER);&lt;br /&gt;sinkEvents(Event.ONMOUSEOUT);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Code example, to show necessary content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void onBrowserEvent(Event event) {&lt;br /&gt;&lt;br /&gt;Element target = event.getTarget();&lt;br /&gt;if (DOM.eventGetType(event) == Event.ONCLICK) {&lt;br /&gt;for (Widget widget : buttons) {&lt;br /&gt;if (widget.getElement() == target) {&lt;br /&gt;buttons.get(header.getVisibleWidget()).removeStyleDependentName("selected");&lt;br /&gt;widget.addStyleDependentName("selected");&lt;br /&gt;&lt;br /&gt;int index = buttons.indexOf(widget);&lt;br /&gt;if (index &amp;gt;= 0) {&lt;br /&gt;header.showWidget(index);&lt;br /&gt;content.showWidget(index);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;} else if (DOM.eventGetType(event) == Event.ONMOUSEOVER) {&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;} else if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can get sources &lt;a href="http://www.box.net/shared/yaqamqygnl"&gt; -= outlook stack panel source code =- !&lt;/a&gt; &lt;br /&gt;In the future, i'm planning to put GWT application starter &lt;a href="http://code.google.com/p/gwtfuse"&gt;here (gwtfuse)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If somebody did it other way, or improved it, please share with me your ideas :)&lt;br /&gt;Have a nice day!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-8812194953500129603?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/8812194953500129603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=8812194953500129603&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8812194953500129603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8812194953500129603'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/11/how-to-make-gwt-stack-panel-outlook.html' title='How to make GWT stack panel (Outlook Style)'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ON7OSu7G6NA/SRNNhI5xN3I/AAAAAAAAAJY/Hjl3f5xeTeU/s72-c/OutlookStackPanel.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-8403349354045451851</id><published>2008-11-02T01:37:00.000+02:00</published><updated>2008-11-07T09:51:02.290+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>How to make nice buttons with GWT</title><content type='html'>GWT is a perfect tool for web application designing. I like it! Just one thing piss me off... GET doesn't have a lot of nice components, like, for example GWT-EXT or ExtGWT. &lt;br /&gt;This issue is easy to resolve, but who wants to include a lot of other third party javascript code in project? And if you need only few nice components? Do you want to be dependent of all others JS libraries? Sure, not. &lt;br /&gt;Recently, working at some GWT project, we need to add nice looking buttons. We did it, and i liked how easy it is. I would like to share my experience with this approach. &lt;br /&gt;First of all, we decided to use Hyperlinks instead Buttons. It implements  ClickListener, so ... we have everything we need. &lt;br /&gt;Thise is a picture, how  HyperlinkButton looks:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s1600-h/Screenshot-Example+.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 187px;" src="http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s320/Screenshot-Example+.png" alt="" id="BLOGGER_PHOTO_ID_5263815161161277586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are master with CSS, using the approach, described in sources, you can do any fancy button, you want! &lt;br /&gt;&lt;br /&gt;I didn't found a way, how to put a working example directly to the blog, so, i put there a link for a &lt;a href="http://www.box.net/shared/r5s6jfm14o"&gt;compiled version&lt;/a&gt; (if you are lazy to setup eclipse to do it) and  you can as well get a &lt;a href="http://www.box.net/shared/r5s6jfm14o"&gt;HyperlinkButton sources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you have other ideas, how to do it better, please, give me to know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-8403349354045451851?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/8403349354045451851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=8403349354045451851&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8403349354045451851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/8403349354045451851'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2007/11/how-to-make-nice-buttons-with-gwt.html' title='How to make nice buttons with GWT'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s72-c/Screenshot-Example+.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-5429455073771197539</id><published>2008-10-30T09:48:00.001+02:00</published><updated>2008-11-07T09:49:20.753+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>How to develop GWT without server</title><content type='html'>In the last project, i worked, we did GWT client connected with server using RESTfull API. &lt;br /&gt;So, we have completly separate server and client. It has some benefits, if for example you have an server API, which is reusable with other clients, not like GWT. &lt;br /&gt;&lt;br /&gt;So, the main problem is how to connect GWT with Server from configuration point of view. &lt;br /&gt;create some bash file, like noserver.sh&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;APPDIR=`dirname $0`;&lt;br /&gt;GWT_HOME='/usr/local/tools/gwt-linux-1.5.2/'&lt;br /&gt;java  -Xmx256M -cp "$APPDIR/src/lib/gwt-log-2.5.2.jar:$APPDIR/src:$APPDIR/bin:/usr/local/tools/gwt-linux-1.5.2/gwt-user.jar:$GWT_HOME/gwt-dev-linux.jar" com.google.gwt.dev.GWTShell -out "$APPDIR/www" -noserver -port 8080  "$@" com.example.Main/Main.html;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;then you need to setup some server: jboss, tomcat, jetty to serve statically a folder&lt;br /&gt;inside your gwt projects, something like www.&lt;br /&gt;&lt;br /&gt;after you did it, run your server. &lt;br /&gt;&lt;br /&gt;Then run the nserver.sh to run GWT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-5429455073771197539?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/5429455073771197539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=5429455073771197539&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/5429455073771197539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/5429455073771197539'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/10/how-to-develop-gwt-without-server.html' title='How to develop GWT without server'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-5706648133766113570</id><published>2007-11-06T21:54:00.003+02:00</published><updated>2008-11-12T21:31:49.478+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='stack panel'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>Как сделать GWT StackPanel пοхожим на Outlook</title><content type='html'>Блог был перемещен на русскую версию блога:&lt;br /&gt;&lt;a href="http://gwt-rus.blogspot.com/2008/11/how-to-make-gwt-outlook-style-stack.html"&gt;http://gwt-rus.blogspot.com/2008/11/how-to-make-gwt-outlook-style-stack.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-5706648133766113570?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/5706648133766113570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=5706648133766113570&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/5706648133766113570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/5706648133766113570'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/11/gwt-stack-panel-outlook-style.html' title='Как сделать GWT StackPanel пοхожим на Outlook'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3787222091533780744.post-3521606071779886742</id><published>2007-11-01T23:30:00.002+02:00</published><updated>2008-11-12T21:13:17.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>Как сделать красивую кнопку в GWT</title><content type='html'>Статья теперь на русском блоге: &lt;a href="http://gwt-rus.blogspot.com/2008/11/how-to-make-nice-button-with-gwt.html"&gt;http://gwt-rus.blogspot.com/2008/11/how-to-make-nice-button-with-gwt.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s1600-h/Screenshot-Example+.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 187px;" src="http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s320/Screenshot-Example+.png" alt="" id="BLOGGER_PHOTO_ID_5263815161161277586" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3787222091533780744-3521606071779886742?l=gwtfuse.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gwtfuse.blogspot.com/feeds/3521606071779886742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3787222091533780744&amp;postID=3521606071779886742&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/3521606071779886742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3787222091533780744/posts/default/3521606071779886742'/><link rel='alternate' type='text/html' href='http://gwtfuse.blogspot.com/2008/11/gwt.html' title='Как сделать красивую кнопку в GWT'/><author><name>Viktor Zaprudnev</name><uri>http://www.blogger.com/profile/17836965695137615226</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02647650724567925860'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ON7OSu7G6NA/SQzUAAxVYJI/AAAAAAAAAIw/oe7ULmKCcr0/s72-c/Screenshot-Example+.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>