tag:blogger.com,1999:blog-9980988107839063472024-02-19T04:37:56.308-08:00Programming tips and ideasTechnical experiencesUnknownnoreply@blogger.comBlogger32125tag:blogger.com,1999:blog-998098810783906347.post-50901394831380055692013-06-04T01:44:00.001-07:002013-06-04T01:44:24.129-07:00GWT reusable components in JSP web pages<b><span style="color: #009900;">This is a small demonstration of how GWT client side widgets can be used in JSP web pages:</span></b><br />
<b><span style="color: #009900;"><a href="http://gwtjsp.lehelsipos.cloudbees.net/" target="_blank">http://gwtjsp.lehelsipos.cloudbees.net/</a> </span></b>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-2354804730598107232013-05-31T03:41:00.000-07:002013-05-31T03:41:14.207-07:00EJB-GWT and Netbeans IDE
<h1 class="western" lang="en-US" style="text-align: center;">
<span style="color: red;">Accessing EJB from GWT using the
Netbeans IDE</span></h1>
<div lang="en-US">
<span style="color: blue;">I was curious to see how does it work the GWT(google
web toolkit) technology, together with EJB-session beans, moreover
how the Netbeans development environment uses it's wizards, to ease
the development.
</span></div>
<span style="color: blue;">
</span><div lang="en-US">
<span style="color: blue;">I created a MySql table with a simple architecture to
demonstrate the functionality, having an ID and a Name field:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif5Eyt1A0kwSbPfI1a6rTIail-hAOB0YBmf2iIMyuFYEC6A26d7uiF-1HT1zIym-fGNPZ5SfB4DoreRSdTrWtStMeX0uRz55kKU1Wb7dUPc2dDOAX_uz9KK7nZATuiMHJ7E9ShYNVv_GA/s1600/table.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif5Eyt1A0kwSbPfI1a6rTIail-hAOB0YBmf2iIMyuFYEC6A26d7uiF-1HT1zIym-fGNPZ5SfB4DoreRSdTrWtStMeX0uRz55kKU1Wb7dUPc2dDOAX_uz9KK7nZATuiMHJ7E9ShYNVv_GA/s400/table.jpg" width="400" /></a></div>
<div lang="en-US">
<br /><span style="color: blue;">My short demonstration is about to visualize the
content of the “Name” field by a given record ID.
</span>
</div>
<span style="color: blue;"></span><div lang="en-US">
<span style="color: blue;">Netbeans gives us some useful wizards to create
entity and session beans to achieve the MySql table's content.
Entity beans are a type of Enterprise JavaBean(EJB), a server-side
J2EE component, that represents persistent data maintained in a
database. Session Beans implements a business task using entity
beans. Both are hosted by an EJB container, like the Glassfish
server.</span></div>
<span style="color: blue;">
</span><div lang="en-US">
<span style="color: blue;">To access EJB from a GWT web application, we must
create remote session beans. Using the Netbeans Ide, we can achieve
this, in following way:</span></div>
<span style="color: blue;">
</span><ul>
<li><div lang="en-US">
<span style="color: blue;">first I created a <b>java class library project</b><span style="font-weight: normal;">,
</span><u><span style="font-weight: normal;">remote.jar.</span></u><span style="text-decoration: none;"><span style="font-weight: normal;">
This jar file will contain the necessary entity bean for the session bean.
Right clicking on this project I added an entity bean with a wizard
connecting to the above mentioned MySql table. Additional packages
to this project were the EclipseLink JPA 2.1 and Java EE 6 Api
Library. </span></span></span>
</div>
</li>
<li><div lang="en-US">
<span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">in
the next step, I created a new project an </span></span><span style="text-decoration: none;"><b>EJB
module</b></span><span style="text-decoration: none;"><span style="font-weight: normal;">.
The </span></span><u><span style="font-weight: normal;">remote.jar</span></u><span style="text-decoration: none;"><span style="font-weight: normal;">
was added to this module as an additional library. Right clicking
also on this project, we can call a wizard to create a remote session
bean for the entity class. This step, is also generates automatically
the remote session bean into the </span></span><u><span style="font-weight: normal;">remote.jar</span></u><span style="text-decoration: none;"><span style="font-weight: normal;">
file</span></span></span></div>
</li>
<li><div lang="en-US">
<span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">I
built both projects and deployed the EJB module using Glassfish 4.</span></span></span></div>
</li>
<li><div lang="en-US">
<span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">To
create a </span></span><span style="text-decoration: none;"><b>GWT
web application</b></span><span style="text-decoration: none;"><span style="font-weight: normal;">
with Netbeans it is necessary to add the GWT plugin to the IDE from
it's menu: Tools-Plugins-Available Plugins or Downloaded Plugins if
you have downloaded this plugin from Netbeans' official site. After
this, you can create the java web application adding to it the GWT
framework, at the end of the wizard. </span></span></span>
</div>
</li>
</ul>
<span style="color: blue;">
</span><span style="color: blue;">
</span><h2 class="western">
<span style="font-size: large;"><span style="color: red;"><span style="text-decoration: none;"><span style="font-weight: normal;">How
to configure the GWT web application to use enterprise java beans</span></span></span></span></h2>
<span style="color: blue;">
</span><span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">We
can do this by the </span></span><u><span style="font-weight: normal;">remote.jar</span></u><span style="text-decoration: none;"><span style="font-weight: normal;">
package created in the steps above mentioned. After the GWT web
application was created, I added the </span></span><u><span style="font-weight: normal;">remote.jar</span></u><span style="text-decoration: none;"><span style="font-weight: normal;">
package to this web project, with the entity and remote session bean created in
it. I don't want to enter in too much details, I suppose that
you are familiar with GTW-RPC technology, because this is necessary to
reach server-side data. So, after creating the necessary java files
to the GWT-RPC(you can use here, also wizards), my server-side
implementation of a simple ejb call, looks like the following:</span></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcVqln3jHCcH2B3i8yAnIBpYbOn464mRMputHkRCV3gsZvsHbsPFJvU3L0Sg73gvXxflQqnGLoqekh6ZZ6M55RpBaOCfbF0Bmb1aaCSditT3WKVZbszmzYK7i4RH2V2pYKcAFASYRqmyM/s1600/ejbgwt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcVqln3jHCcH2B3i8yAnIBpYbOn464mRMputHkRCV3gsZvsHbsPFJvU3L0Sg73gvXxflQqnGLoqekh6ZZ6M55RpBaOCfbF0Bmb1aaCSditT3WKVZbszmzYK7i4RH2V2pYKcAFASYRqmyM/s1600/ejbgwt.jpg" /></a></div>
<span style="color: blue;"><br />
</span><br />
<span style="color: blue;">
</span><span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">GWT-RPC
sends server-side data across the network through serialized objects,
therefore one important thing I would like to mention here, that we
must create a wrapper class, to send ejb data, across the wire, to
the client. An entity record with a given id, is found by the session
bean finder method.</span></span></span><br />
<span style="color: blue;">
</span><span style="color: blue;"><span style="text-decoration: none;"><span style="font-weight: normal;">The
wrapper class implements the Serializable object, gets the entity
data as input data into it's constructor, and associates their value
to it's local fields, accessed by getter and setter methods.</span></span></span><br />
Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-998098810783906347.post-25997144397075649602013-05-09T02:27:00.000-07:002013-05-09T02:41:18.623-07:00DIA - Engineering diagrams<span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><i><u>1. Dia</u></i> is an application for creating technical diagrams. Its interface and features are loosely patterned after the Windows program Visio. Features of Dia include multiple-page printing, export to many formats (EPS, SVG, CGM and PNG), and the ability to use custom shapes created by the user as simple XML descriptions for generating the desired code. Dia is useful for drawing UML diagrams, flowcharts, database diagrams, network maps, electrical circuits and many others. </span></span></b></span></span><br />
<span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;">You can download for free:<br /><a href="http://projects.gnome.org/dia/">http://projects.gnome.org/dia/</a></span></span></b></span></span><br />
<br />
<br />
<br />
<span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><u><i>2. BlueJ</i></u>
is an integrated Java environment specifically designed
for introductory teaching<span style="font-size: small;">. BlueJ supports:</span></span></span></b></span></span><br />
<ul>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">fully integrated environment</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">graphical class structure display</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">graphical and textual editing</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">built-in editor, compiler, virtual machine, debugger, etc.</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">easy-to-use interface, ideal for beginners</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">interactive object creation</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">interactive object calls</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">interactive testing</span></span></span></b></span></span></li>
<li><span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;">incremental application development </span></span></span></b></span></span></li>
</ul>
<span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;">Downloadable from:</span></span></span></span></b></span></span><br />
<span style="color: #351c75;"><span style="background-color: #ffe599;"><b><span style="font-family: Georgia,"Times New Roman",serif;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"><a href="http://www.bluej.org/download/download.html">http://www.bluej.org/download/download.html</a> </span> </span></span></span></b></span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-23021726385953826362013-05-04T01:13:00.001-07:002013-05-06T21:24:04.286-07:00 GWT-MGWT from a single source code<b><span style="color: blue;"><span style="font-family: Verdana, sans-serif;"> I just write a simple web page rpc-application, that recognizes the platform on which it is run, and has a different UI for mobile and for desktop. <br />Gwt stands for browsers and Mgwt for m. webkit, and I tried to use a proper arhitecture to load the right GUI.<br />If you test this on a desktop machine use firefox for desktop and google chrome to emulate mobile appearance(with http://ipad-emulator.org/).<br /><br />So, this is:<br /><a href="http://lehelsipos-gwt4.appspot.com/">http://lehelsipos-gwt4.appspot.com/</a><br /><br />And if you would like to download the source code:<br /><a href="http://siposlehel.atw.hu/">http://siposlehel.atw.hu/</a></span></span></b>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-4599011671966138952013-03-22T03:46:00.002-07:002013-03-24T23:48:44.226-07:00SmartGWT.Mobile<h1 align="CENTER" class="western" lang="en-US">
<span style="color: teal;"><i>Mobile
world and web approach solutions – SmartGWT.Mobile</i></span></h1>
<div align="CENTER" lang="en-US">
<br /></div>
<div class="marginalia" lang="en-US" style="font-style: normal; margin-left: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><b>As
the demands increase for applications to mobile phones, tablets and
smart phones I would like to, go through at existing web solutions
for mobiles, among native applications, and analyzing a little bit,
and emphasizing one of them, the SmartGWT.Mobile product.</b></span></span></span></div>
<div class="marginalia" lang="en-US" style="font-style: normal; margin-left: 0cm;">
<br />
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b>The
first thing that comes in my mind, of course is html, javascript,
css3, html5. </b></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><b>The
mobile web is growing up quickly, and tons of great</b></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><b><span style="background: #ffd320;">
HTML5 </span></b></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><b>features
are already supported on modern mobile browsers. Web developers can
use the same set of technologies they know and love to build rich web
applications that work across different device types. HTML5 allows us
to use efficiently </b></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b>local
storage, multimedia introducing new audio-video types like: MP4,
WebM, Ogg and offers a canvas for graphics. Supports mouse and touch
together. </b></span></span></span></span>
</div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<br />
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b>If
you are not satisfied with simple web pages or applications, you
might think forward using technologies, that offers us, server side
communications too. HTML5 can be paired with server side solutions
like PHP or JSP. And then, you can enter into Java world, because
there are plenty of possibilities which says that you can write all
the code, the server side and even the client side program, all in
java. When you are ready with programming, you just translate or
compile your program to javascript and html5. And more, because your
output will be a more efficient html5 and ajax code, than one written
manually. You don't have to worry about browser's compatibility and
of course the server side code will run on a java web server. Thanks
for GWT-GoogleWebToolkit, such solutions are the following, let's see
a few of them: </b></span></span></span></span>
</div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<br />
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<span style="background: #ffd320;"><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b>MGWT;
GWT-Phonegap</b></span></span></span></span></span></div>
<div lang="en-US" style="margin-bottom: 0cm;">
<a href="http://www.blogger.com/blogger.g?blogID=998098810783906347" name="internal-source-marker_0.587610837770626"></a>
<span style="background-color: white;"><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;"><a href="http://www.m-gwt.com/" target="_blank"><span style="color: #1155cc;"><span style="font-family: Arial;"><span style="font-size: small;"><span style="font-style: normal;"><span style="font-weight: normal;"><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">mgwt</span></span></span></span></span></span></a><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><span style="font-weight: normal;"><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">
</span></span></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">is
a library for developing mobile apps and mobile websites with GWT
from one code base. mgwt provides native looking widgets for many
platforms, animations and many other things that are needed for
writing mobile apps. gwt-phonegap enables GWT apps to use Phonegap.
With Phonegap HTML5 apps can access the same device features that
native apps can use from Javascript, such as the file system or
contacts.</span></b></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><br /></b></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">With
mgwt and gwt-phonegap you can deploy your GWT apps into any app store
or let your users use them as a website. </span></b></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><br /></b></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">Both
projects are available under apache 2.0 license from maven central. </span></b></span></span></span></span></span>
</span></div>
<div lang="en-US" style="margin-bottom: 0cm;">
<span style="background-color: white;"><a href="http://www.blogger.com/blogger.g?blogID=998098810783906347" name="internal-source-marker_0.5876108377706261"></a>
<span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;"><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">mgwt
provides mobile widgets that are compatible with UIBinder and the
Editor Framework. mgwt integrates touch events and animation events
with its own DOM implementation and provides gesture recognizers on
top of that.<br />There are themes for iPhone, iPad, android phones,
android tablets and blackberry. For going offline there is an
automatically generated HTML5 offline manifest.<br />In dev mode
gwt-phonegap can emulate the Phonegap API so that developing of
Phonegap apps can happen inside GWT dev mode.</span></b></span></span></span></span><span style="color: maroon;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b><span style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto;">
gwt-phonegap also provides utilities to make GWT RPC work in a
Phonegap environment. Personally, I think that the one disadvantage
of this solution, is that for GWT PRC server side communications, you
must use the GWT-Phonegap library too, among the mgwt package.</span></b></span></span></span></span></span></span></div>
<div lang="en-US" style="margin-bottom: 0cm;">
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<span style="background: #ffd320;"><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span style="font-style: normal;"><b>Emitrom
products:</b></span></span></span></span></span></div>
<div style="margin-bottom: 0cm;">
<a href="http://emitrom.com/" target="_blank"><span style="color: navy;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><span style="font-weight: normal;"><span style="background: transparent;">emitrom</span></span></span></span></span></span></span></a><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b><span style="background: transparent;">
– comes with a set of product for different kind of applications
like: Flash4J, Lienzo, Titanium4JMobile, Touch4J. They are very
modern and interesting, is worthy to see and try. Develop slick
mobile web apps that will look and feel like native iOS, Android and
BlackBerry using the Secha Touch API but do it in the language you
know with the tools you already know in Java. So sounds good, but one
thing brothers me a little bit, for the functionality, </span></b></span></span></span></span></span><span style="color: maroon;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b><span style="background: transparent;">you
have to add additional packages to your emitrom project, like Sencha
Touch Javascript library, or Phonegap.</span></b></span></span></span></span></span></div>
<div class="marginalia" style="margin-left: 0cm;">
<br /></div>
<div class="marginalia" style="margin-left: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b><span style="background: transparent;"><br /></span></b></span></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b><span style="background: #ffd320;">SmartGWT.Mobile:</span></b></span></span></span></span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b>The
</b></span></span></span></span></span><span style="color: cyan;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><span style="font-weight: normal;"><b><span style="background-color: #cfe2f3;"><a href="http://smartgwt.com/" target="_blank">smartclient</a> </span></b>
</span></span></span></span></span></span><span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b>platform
makes is simple to build powerful, high-productivity web applications
on pure web standards. SmartGWT is coding in java, and getting the
power of the SmartClient framework.</b></span></span></span></span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><b>Smart
GWT combines the industry's richest set of GWT UI components with a
Java server framework to provide an end-to-end solution for building
business web applications. Provides all the power of true Ajax, deep
server integration, rich enterprise ui components, and mobile support
without a rewrite. Even if you know nothing about mobile development,
your Smart GWT application supports mobile. Finger taps and gestures
arrive as normal mouse events, so your event handlers just work —
users can even trigger context menus and hovers via touch-and-hold,
and drag and drop via finger slides. Device-aware components
automatically switch appearance and behavior to mimic typical mobile
UIs.</b></span></span></span></span></span></div>
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><b>Want
more control? Gesture & orientation change events, as well as
native functions like phone dialing are all there to let you fully
tune the mobile experience.</b></span></span><br />
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><b>In
plus, SmartGWT offers us a new product family named SmartGWT.Mobile. </b></span></span>
<br />
<div style="margin-bottom: 0cm;">
<a href="http://www.blogger.com/blogger.g?blogID=998098810783906347" name="aWhenUse"></a><span style="color: navy;"><span style="font-family: Courier New, monospace;"><b><u>When
should I use SmartGWT.mobile vs Smart GWT?</u><br /><br />In a nutshell,
if your application:<br />1. primarily targets phones and tablets: use
SmartGWT.mobile only<br />2. primarily targets desktops and tablets:
use Smart GWT only<br />3. targets desktops, tablets and phones:
consider using both; however, depending on devices and requirements
you may use just one or the other.</b></span></span></div>
<div style="margin-bottom: 0cm;">
<br /></div>
<div style="margin-bottom: 0cm;">
<br /></div>
<div style="margin-bottom: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><b><span style="color: #b84700;">I
would like to present a short application written in java with
SmartGWT.Mobile which has a server side RPC communication, getting
data from a server, and showing into a TableView mobile component.
There is no need of additional packages like, phonegap or sencha to
run this program. I put this running code on a free java server to
demonstrate the functionality. If you test this in a desktop pc, you
should us the google chrome explorer, because this explorer handles
dialog boxes for mobiles. Google Application Engine offers us a web
server for java applications, and it has also a free but limited
storage.</span></b></span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: navy;"><span style="font-family: Courier New, monospace;"><b><span style="color: #b84700;">You
can find the link of my mobile applications on </span></b><a href="http://siposlehel.atw.hu/" target="_blank"><span style="color: blue;"><span style="font-family: Arial, sans-serif;"><span style="font-weight: normal;">my
site</span></span></span></a><b><span style="color: #b84700;"> </span></b></span></span>
</div>
<div style="margin-bottom: 0cm;">
<br />
<br />
<b><span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"><span style="color: lime;">My personal conclusion is that, you may use any of these technologies, if you want a web solution on your mobile, and as you see, these technologies are making effort also, to achieve a native appearance or sometimes even native functionalities too. It is ok! but for example, </span><span style="color: lime;">I don't consider a server side communication, being just a native functionality, it is also a web programming pretension<span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"></span></span></span></span></span></span></span></span>. </b><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"><span style="color: lime;"><b><span style="font-size: small;">Web pages,</span><span style="font-size: small;"> I think, never will transform to real, true native applications. And don't have to. At the end you will always deal with javascript and html as a result of your work. Is not a problem, it is in order. And again, my personal opinion, is that, for a real native application use the right tool or programming language, because there are also many solutions, even in java, like Codename One. For web pages, sites and web applications the above mentioned technologies are the best :) </span> </b></span></span></span></div>
<div style="margin-bottom: 0cm;">
<br /></div>
<div class="marginalia" lang="en-US" style="margin-left: 0cm;">
<br />
<br /></div>
Unknownnoreply@blogger.com18tag:blogger.com,1999:blog-998098810783906347.post-14144590079911787742013-03-09T07:13:00.000-08:002013-03-11T11:52:09.115-07:00Java swing with JavaFx<h1 align="CENTER" class="western" lang="en-US">
<span style="color: #2323dc;"><i><u>Enhance
a Java swing frame with JavaFx componets or functionality</u></i></span></h1>
<div align="CENTER" lang="en-US">
<br /></div>
<div align="LEFT" lang="en-US" style="text-decoration: none;">
<span style="color: #ff950e;"><i> </i><span style="font-family: Verdana, sans-serif;"><span style="font-size: medium;"><i>My
purpose with this short blog to present a very simple example of how
I was understood the use Java swing components together with Javafx
components on a Java Frame form. So, I just was curios to see how can
I improve a swing form with the new modern JavaFx componets or
technology. Having this idea in my mind I have looked for technical
documents at oracle javafx blog site, and I found the following 2
interesting articles:</i></span></span></span></div>
<div align="LEFT" style="background: transparent;">
<a href="http://docs.oracle.com/javafx/2/swing/port-to-javafx.htm" target="_blank"><span style="color: #94476b;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><u><span style="background: transparent;">JavaFX
for Swing Developers</span></u></span></span></span></span></span></a></div>
<div align="LEFT" style="background: transparent;">
<a href="http://docs.oracle.com/javafx/2/swt_interoperability/jfxpub-swt_interoperability.htm" target="_blank"><span style="color: #94476b;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><u><span style="background: transparent;">JavaFX
Interoperability with SWT</span></u></span></span></span></span></span></a></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" style="background: transparent;">
<span style="color: #ff950e;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: medium;"><span lang="en-US"><i><span style="text-decoration: none;"><span style="background: transparent;">More
about javafx on: </span></span></i></span></span></span></span><a href="http://www.oracle.com/technetwork/java/javafx/documentation/index.html" target="_blank"><span style="color: #993366;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><u><span style="font-weight: normal;"><span style="background: transparent;">Oracle's
site</span></span></u></span></span></span></span></span></a></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<span style="color: #23ff23;"><span style="font-family: Arial, sans-serif;"><b><span style="font-size: small;"><span style="font-style: normal;"><span style="background: transparent;">Firs
let me show you to picture about my running application, that tells
you all, about my short example.</span></span></span></b></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<span style="color: #23ff23;"><span style="font-family: Arial, sans-serif;"><b><span style="font-size: small;"><span style="font-style: normal;"><span style="background: transparent;">Image
1:</span></span></span></b></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjRmUXUQBqEV8T0FONAj6P70luW9H97uW2WkqkJ3Hv0koU5nl-SiluJYLd31FR1Re56qTebciEfDVzIux2q5bVClFniCKOMVRfodMcbaoodfzCcQgZ-qHf0ugmFh4ymjUeLA18CcpdiTw/s1600/swing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjRmUXUQBqEV8T0FONAj6P70luW9H97uW2WkqkJ3Hv0koU5nl-SiluJYLd31FR1Re56qTebciEfDVzIux2q5bVClFniCKOMVRfodMcbaoodfzCcQgZ-qHf0ugmFh4ymjUeLA18CcpdiTw/s400/swing.jpg" width="400" /></a></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<span style="color: #23ff23;"><span style="font-family: Arial, sans-serif;"><b><span style="font-size: small;"><span style="font-style: normal;"><span style="background: transparent;">Image
2:</span></span></span></b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBhhqHs3fqrM6xXNZwX5QrGCsCCXVduIYJL3WFRt979u9BY4z5nDo0FvFRVpwihzqnpdf6bxebpDOzyH3k3UhdNKVzwlymJk1pgshsouH7tFp1KUkFgxWUor7qjdoShXmJyVCpYzTgxpE/s1600/javafx.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBhhqHs3fqrM6xXNZwX5QrGCsCCXVduIYJL3WFRt979u9BY4z5nDo0FvFRVpwihzqnpdf6bxebpDOzyH3k3UhdNKVzwlymJk1pgshsouH7tFp1KUkFgxWUor7qjdoShXmJyVCpYzTgxpE/s400/javafx.jpg" width="400" /></a></div>
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent; text-decoration: none;">
<span style="color: #23ff23;"><span style="font-family: Arial, sans-serif;"><b><span style="font-size: small;"><span style="font-style: normal;"><span style="background: transparent;">Now
as you see above, just a short demonstration of how can we use
together a javafx and a swing button on a JFrame form. With Netbeans
IDE, the steps are easy primitve, but of course you can use your
favorite IDE to try this also. I packed all the application in a zip
file, so you can even download for free, if you want to look over.</span></span></span></b></span></span></div>
<div align="LEFT" style="background: transparent;">
<a href="http://siposlehel.atw.hu/" target="_blank"><span style="color: #94476b;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: small;"><span lang="en-US"><span style="font-style: normal;"><u><span style="font-weight: normal;"><span style="background: transparent;">Downlaod
the application</span></span></u></span></span></span></span></span></a></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: teal;">
<span style="font-family: Tahoma, sans-serif;">First I created an empty, new JavaFx
project, called javafxswingapplication1. Then you may wonder, but I
created a new java file, not a javafx unit. This was an empty JFrame
form, and I just put on it a swing button, a swing text field and
also a JPanel swing container. The JPanel will hold the javafx
components, designed on a JFXPanel. The <u><b>“birdge”</b></u>
between the swing and javafx, is the <b>JFXPanel</b> javafx
container, which can be added to the JPanel. The swing part of the
form was designed with the swing designer from the Netbeans IDE, and
the javafx code I added manually to the form. </span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="font-family: Tahoma, sans-serif;"><b>All
the javafx code is wrapped into a single method and is called from
the constructor of the Jframe form, after the call of
initcomponents() swing initialization method. The javafx project is
set to start this frame at running the application. This can be done
at project properties, run – main class.</b></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="font-family: Tahoma, sans-serif;"><b>So
the key point is the javafx method, let's see how does it look. I was
called this method: <span style="color: #2300dc;">createSceneAndAddToSwing</span></b></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
</span><span style="color: #2300dc;"> <span style="font-family: Tahoma, sans-serif;"><b><span style="font-size: x-small;">private
void createSceneAndAddToSwing() { </span></b></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>PlatformImpl.startup(new
Runnable() { </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>public
void run() { </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jfxPanel
= new JFXPanel();</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>Group
mainPanel = new Group(); </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>Scene
scene = new Scene(mainPanel,300,150); </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>Button
btn = new Button();</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>btn.setText("From
JavaFX");</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>btn.setOnAction(new
EventHandler<ActionEvent>() {</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>@Override</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>public
void handle(ActionEvent event) {</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jTextField1.setText("It
was pushed a JavaFX button!"); </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>}</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>});
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>mainPanel.getChildren().add(btn);
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>btn.setLayoutX(50);</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>btn.setLayoutY(100);</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jfxPanel.setScene(scene);
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<br />
<br /></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
</span><span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b><span style="color: #b3b3b3;">//add
this "javafx" to the swing jframe's jpanel</span></b></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jPanel1.setLayout(new
BorderLayout());</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent; margin-right: -0.5cm;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jfxPanel.setPreferredSize(new
Dimension(PANEL_WIDTH_INT, PANEL_HEIGHT_INT)); </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jPanel1.add(jfxPanel,
BorderLayout.CENTER); </b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jPanel1.revalidate();</b></span></span></span></span></div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>jPanel1.repaint();
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>}
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>});
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="color: #2300dc;">
<span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b>}
</b></span></span></span></span>
</div>
<div align="LEFT" lang="en-US" style="background: transparent;">
<span style="color: #996633;"><span style="font-family: Tahoma, sans-serif;"><span style="font-size: x-small;"><b><span style="color: #2300dc;">So
that's it, for a more complex javafx functionality in a swing frame,
I would firstly create a standalone javafx project to wirte and test
the d<span style="font-size: x-small;">e</span>sired javafx and then to embed it onto a jpanel container using
the JFXPanel as a bridge.</span></b></span></span></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-40796691909520530542013-03-05T09:12:00.001-08:002013-03-05T09:12:13.318-08:00NetBeans 7.3 Contribution<h1 class="entry-title">
<br /></h1>
<span class="meta-prep meta-prep-author"></span><u><i><b><span style="color: #b45f06;">Today I got this response to my NetBeans 7.3 contribution. I am very happy now :)</span></b></i></u><div class="entry-meta">
</div>
<div class="entry-meta">
<div>
Dear NetBeans User,<br />
In the past you have taken the time to report issues that you encountered while using NetBeans software. A new version (<a href="http://netbeans.org/community/releases/73/" target="_blank">NetBeans 7.3</a>)
has just been released,and we'd like to inform you that the following
issue(s) you reported have been addressed in the new release:<br />
<table cellpadding="2">
<tbody>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=217446" target="_blank">217446</a></td><td>AssertionError at org.openide.loaders.<wbr></wbr>TemplateWizard.updateState</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=217701" target="_blank">217701</a></td><td>NumberFormatException: For input string: ",193715"</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=218240" target="_blank">218240</a></td><td>AssertionError at org.netbeans.modules.j2ee.<wbr></wbr>ejbjarproject.<wbr></wbr>EjbJarProjectOperations.<wbr></wbr>notifyDeleting</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=218766" target="_blank">218766</a></td><td>ClassCastException: org.netbeans.modules.<wbr></wbr>refactoring.api.<wbr></wbr>RenameRefactoring cannot be cast to org.netbeans.modules.<wbr></wbr>refactoring.api.<wbr></wbr>MoveRefactoring</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=219131" target="_blank">219131</a></td><td>Creating Master/Detail Form Hangs During Creation</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=221017" target="_blank">221017</a></td><td>IllegalStateException: Too many org.netbeans.modules.web.<wbr></wbr>project.ui.customizer.<wbr></wbr>WebProjectProperties$5 (3) in shared RequestProcessor; create your own</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=221126" target="_blank">221126</a></td><td>NullPointerException at org.netbeans.api.project.<wbr></wbr>ProjectUtils$BasicInformation.<wbr></wbr>getDisplayName</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=221267" target="_blank">221267</a></td><td>NullPointerException at org.netbeans.modules.profiler.<wbr></wbr>stp.SelectProfilingTask.<wbr></wbr>selectAttachProfilerTask</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=221279" target="_blank">221279</a></td><td>100% cpu with Lazy Node Children: Too many repetitions in getNodes(true). Giving up.</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=222614" target="_blank">222614</a></td><td>'Add from' Palette Manager buttons does not work as expected</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=222759" target="_blank">222759</a></td><td>NullPointerException at org.netbeans.modules.<wbr></wbr>autoupdate.ui.PluginManagerUI.<wbr></wbr>decorateTabTitle</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=223759" target="_blank">223759</a></td><td>NullPointerException at org.netbeans.modules.debugger.<wbr></wbr>jpda.ui.ConnectPanel.<wbr></wbr>getEditedArgs</td>
</tr>
<tr>
<td><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=224410" target="_blank">224410</a></td><td>AssertionError at org.tmatesoft.svn.core.<wbr></wbr>internal.wc17.db.SVNWCDbRoot.</td>
</tr>
</tbody></table>
Please visit the <a href="http://netbeans.org/" target="_blank">netbeans.org</a> website to <a href="http://netbeans.org/downloads/index.html" target="_blank">download NetBeans 7.3</a> and to <a href="http://netbeans.org/community/releases/73/" target="_blank">learn more</a> about the new release.<br />
We
appreciate your contribution to our efforts to make NetBeans software
and features better for all users. And as always, we look forward to
your feedback on how we can continue to improve NetBeans.Thank you.The NetBeans Team</div>
</div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-998098810783906347.post-85280590025003661902013-02-25T02:08:00.003-08:002013-02-25T02:08:18.832-08:00Reusable GWT components in java library packages
<br />
<span style="font-family: Tunga; font-size: small;"> </span><span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">Using
the Google Web Toolkit technology we have a set of widgets for
enhance our web client interface. You can find the list of these java
ui components with a short description on Gwt’s website: <a href="https://developers.google.com/web-toolkit/doc/latest/RefWidgetGallery">GWT
widgets</a></span></span><br />
<span style="font-size: large;">
</span><div align="LEFT">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">In
this blog I would like to present an easy way of developing new
reusable widgets to our gwt web application. The new gwt widget can
be packed into a java library package, in this way making it reusable
for other web projects too. During my work, I use the Netbeans IDE
but you are free to follow the steps in your favorite java editor. </span></span>
</div>
<span style="font-size: large;">
</span><div align="LEFT">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">I
advice to plan always your web application with a multi-tier
architecture, having separate modules for servers and client side
programming.</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">In
first step I will show you, how to create GWT widget library and then
how to use it in a test web project. </span></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><ol>
<li><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><span style="background-color: yellow;"><b><i><span style="color: #996633;"><span style="font-family: Tunga;">Creating
a reusable gwt widget library</span></span></i></b></span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">In
Netbeans Ide just choose File-New Project and Java-Java Class
Library. Name your project for example: GwtComponents</span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">In
project properties we must add the google web toolkit sdk library
GWT2.5.0, which should contain at least the gwt-user.jar file</span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">Structure
your library project to have 3 folders:</span></span></div>
</li>
</ol>
<span style="font-size: large;">
</span><ul>
<li><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">a
directory for the gwt.xml file: <b><u><span style="color: purple;">gwtcomponents</span></u></b></span></span></div>
</li>
<li><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">a
directory for java files, where we place the new gwt component:
<span style="color: purple;"><b><u> gwtcomponents.client</u></b></span></span></span></div>
</li>
<li><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">a
directory for resource files, like css, image files:
<span style="color: purple;"><u><b>gwtcomponents.public</b></u></span></span></span></div>
</li>
</ul>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">So,
we almost are ready, but let's see how to create a new component.
First we need an xml file, because this package, will be a gwt
reusable library package. Create an xml file and name it,
Main.gwt.xml and put it, into your main directory, gwtcomponents.
Your xml file should contain the following lines:</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;"><?xml
version="1.0" encoding="UTF-8"?></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;"><module></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;"><!--
including the gwt module into the library --></span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;"><inherits
name="com.google.gwt.user.User"/></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;"><!--
declaring css file for styling our widget components --></span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;"><stylesheet
src="mystyle.css"/></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;"><!--
folder which contains the widget component --></span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;"><source
path="client"/></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;"></module>
</span></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">To
create a gwt widget, just create a java file that extends a gwt
existing component. In my example I extend my java file with a
HorizontalPanel, and I put on it a gwt label and an edit component. In
this way, I will call my new gwt widget, LabeledEdit. Let's see how
does it look:</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">package
gwtcomponents.client;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">/**
</span></span></span>
</div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">* </span></span></span>
</div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">* GWT
component: LabeledEdit - in constructor gets the argument for the
text of the label</span></span></span></div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">* </span></span></span>
</div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">*/</span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">import
com.google.gwt.user.client.ui.HasHorizontalAlignment;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">import
com.google.gwt.user.client.ui.HasVerticalAlignment;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">import
com.google.gwt.user.client.ui.HorizontalPanel;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">import
com.google.gwt.user.client.ui.Label;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">import
com.google.gwt.user.client.ui.TextBox;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">public
class LabeledEdit extends HorizontalPanel {</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">public
TextBox txtField;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">public
Label lblField;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
</span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">public
LabeledEdit(String label) {</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;">//base
horizontal panel settings:</span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">setStyleName("comp1-hpanel");</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;">//the
label</span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">lblField
= new Label(label);</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">lblField.setStyleName("comp1-label");</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">add(lblField);</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="color: #999999;"><span style="font-family: Tunga;">//the
field</span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">txtField
= new TextBox();</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">add(txtField);</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">}</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">}</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">My
stylesheet file under the public directory, is the follwing:</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">/*</span></span></span></div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">LabeledEdit</span></span></span></div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><span style="color: #999999;"><span style="font-family: Tunga;">*/</span></span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">.comp1-hpanel
{</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">background-color:
#C3D9FF;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">border:
1px solid blue;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">}</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">.comp1-label
{</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">border:
1px solid black;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">background-color:
orange;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">font-weight:
bold;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">text-align:
center;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">}</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">So,
that's it, in the next step, after building and creating the jar file
from this project, I will test it in a gwt web project:</span></span></div>
<span style="font-size: large;">
</span><ol start="2">
<li><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><span style="background-color: yellow;"><b><i><span style="color: #996633;"><span style="font-family: Tunga;">Using
the newly created gwt library</span></span></i></b></span></span></div>
<ol><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">In
my gwt web project I just added the jar file – GwtComponents.jar -
created above to my gwt web application. The main gwt.xml file of
the web project must contain the following line to use the library
in the test project:</span></span></div>
<div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;"><inherits
name="gwtcomponents.Main"/></span></span></div>
</ol>
<span style="color: #996633;"><span style="font-family: Tunga;"><span style="font-size: large;"> And your main module:</span></span></span>
</li>
</ol>
<span style="font-size: large;"></span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">LabeledEdit
labelwithedit;</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
</span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">public
void onModuleLoad() {</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">labelwithedit
= new LabeledEdit("Reuseable GWT library: ");</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="font-size: large;"><span style="color: #999999;">
<span style="font-family: Tunga;">//you
can also redesign your gwt component here, if you want</span></span></span></div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="font-size: large;"><span style="color: #999999;">
<span style="font-family: Tunga;">//labelwithedit.setStyleName("newstyle_in_this_project");</span></span></span></div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
</div>
<span style="font-size: large;"><span style="color: #999999;">
</span></span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">RootPanel.get().add(labelwithedit);
</span></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 2.5cm;">
<span style="color: #996633; font-size: large;">
<span style="font-family: Tunga;">}</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm; margin-left: 1.25cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><br /></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;"><span style="color: #996633;"><span style="font-family: Tunga;">T</span></span>hese are all the necessary steps to do, for creating your own
gwt reusable package. You can download my gwt library for free, it is
written under Netbeans. </span></span>
</div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="font-size: large;"><a href="http://siposlehel.atw.hu/">Examples</a></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<span style="color: #996633; font-size: large;"><span style="font-family: Tunga;">And
also you will find a link there, to test a running web project which
use this library.</span></span></div>
<span style="font-size: large;">
</span><div style="margin-bottom: 0cm;">
<br />
</div>
Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-998098810783906347.post-41135565374915585392012-12-07T04:28:00.002-08:002012-12-07T22:55:42.240-08:00Codename One – accesing java servlets with mobile phones<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><span style="background-color: #d0e0e3;"></span><br />
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
<br />
<div class="MsoNormal">
<b><span lang="HU" style="color: blue; font-size: 14.0pt; mso-ansi-language: HU; mso-bidi-font-size: 12.0pt;"> Using java, there are lot of ways to
access a database server which is not local, is not on your phone. You can have
java servlets, webservices, or using for exampe the java server pages(jsp)
technology, we can retrieve data from database servers. </span></b></div>
<div class="MsoNormal">
<b><span lang="HU" style="color: blue; font-size: 14.0pt; mso-ansi-language: HU; mso-bidi-font-size: 12.0pt;">Unfortunately Codename One, till now,
does not support the webservice wsdl technology, but of course you can have
servlets or jsp.</span></b></div>
<div class="MsoBodyText">
<span style="color: blue;"><b><span lang="HU" style="font-size: 14.0pt; mso-bidi-font-size: 12.0pt;">An acceptable arhitecture could be, when from client side Codename One,
you achieve a servlet, which servlet connects to the database. For having this
method, we have to have, two main java Object in Codename One:</span></b></span></div>
<div class="MsoNormal">
<b><i><span lang="HU" style="color: #ff6600; font-size: 14.0pt; mso-ansi-language: HU; mso-bidi-font-size: 12.0pt;">NetworkManager</span></i></b></div>
<div class="MsoNormal">
<b><i><span lang="HU" style="color: #ff6600; font-size: 14.0pt; mso-ansi-language: HU; mso-bidi-font-size: 12.0pt;">ConnectionRequest</span></i></b><span lang="HU" style="color: blue; mso-ansi-language: HU;"></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span lang="EN-US" style="color: blue; font-size: 14.0pt; mso-bidi-font-size: 12.0pt;">A simple servlet code, accessing a db server, should look like this:</span></b></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><b>protected void</b> <b>processRequest(HttpServletRequest
request, HttpServletResponse response)</b></span></div>
<b>
</b><br />
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><b><span style="mso-spacerun: yes;"> </span>throws ServletException,
IOException, SQLException</b> {</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>response.setContentType("text/html;charset=UTF-8");</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>PrintWriter out =
response.getWriter();</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>try {</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>String ID;</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>String answer = "no
answer";<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>ID =
request.getParameter("Id");</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>if (ID!=null) {</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//register driver</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>DriverManager.registerDriver(new
com.mysql.jdbc.Driver());</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//get the database connection</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Connection con =
DriverManager.getConnection ("jdbc:mysql://localhost/test",
"user", "password");</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Create statement</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Statement stmt =
con.createStatement ();</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>ResultSet rs = stmt.executeQuery ("select
* from test where ID="+ID);</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>rs.first();<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>answer=rs.getString("Name");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//this is an answer to the client –
Codename one<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>out.print(answer);<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>} finally {<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>out.close();</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="HU" style="color: blue; mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span style="color: blue;"><b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;"><b><span lang="EN-US" style="color: blue; font-size: 14.0pt; mso-bidi-font-size: 12.0pt;">So, on client side, from mobile phones with </span></b></span></b></span><b><i><span lang="HU" style="color: #ff6600; font-size: 14.0pt; mso-ansi-language: HU; mso-bidi-font-size: 12.0pt;">Codename One</span></i></b><span style="color: blue;"><b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;"> </span></b></span><span style="color: blue;"><b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;"><b><span lang="EN-US" style="color: blue; font-size: 14.0pt; mso-bidi-font-size: 12.0pt;">we may have the following code to access the servlet above(the following proecedure is a button click):</span></b></span></b></span></div>
<div class="MsoNormal">
<br />
D:\Programming\JavaCodenameOne\CodenameOne_2\src\userclasses\StateMachine.java<br />
39 protected void onMain_ButtonAction(Component c, ActionEvent event) {<br />
40 response = "empty";<br />
41 try { <br />
42 //the NetworkManager object<br />
43 <b><span style="color: red;">NetworkManager </span></b>networkManager = NetworkManager.getInstance();<br />
44 networkManager.start();<br />
45 networkManager.addErrorListener(new ActionListener() {<br />
46 public void actionPerformed(ActionEvent evt) {<br />
47 NetworkEvent n = (NetworkEvent) evt;<br />
48 n.getError().printStackTrace(); <br />
49 }});<br />
50 //ConnectionRequest object <br />
51 <b><span style="color: red;">ConnectionRequest </span></b>request = new ConnectionRequest() {<br />
52 int chr;<br />
53 StringBuffer sb = new StringBuffer(); <br />
54 <span style="color: red;"><b>protected void readResponse</b></span>(InputStream input) throws IOException {<br />
55 //reading the answer <br />
56 while ((chr = input.read()) != -1){<br />
57 sb.append((char) chr);<br />
58 }<br />
59 response = sb.toString(); <br />
60 response = response.trim();<br />
61 } <br />
62 protected void handleException(Exception err) {<br />
63 //An error occured - show a message:<br />
64 Dialog.show("Yikes!!", "Are you connected to the internet? Check your connection", "Ok", null);<br />
65 }<br />
66 };<br />
67 request.setUrl("http://localhost:8084/WebServicePhone/start"); //servlet calling<br />
68 request.setPost(false);<br />
69 request.addArgument("Id", "1"); //sending a the parameter Id to the servlet <br />
70 <span style="color: red;"><b>networkManager.addToQueue(request);</b></span> <br />
71 } catch (Exception e) {<br />
72 System.out.println(e.getMessage());<br />
73 } <br />
74 while(response.equals("empty")) {<br />
75 //waiting for the answer from the serlvet or jsp server<br />
76 }<br />
77 //set the label with the information from the server<br />
78 findLabel().setText(<span style="color: red;"><b>response</b></span>);<br />
79 Dialog.show("Hi World", "Getting Data From JSP - MYSQL database", "OK" ,null); <br />
80 }</div>
Unknownnoreply@blogger.com10tag:blogger.com,1999:blog-998098810783906347.post-40086252981659641992012-11-06T12:21:00.001-08:002012-11-06T12:23:49.485-08:00J2ME – RMS local database<html>
<head>
<title>RmsDb.java</title>
<style type="text/css">
<!--
body {color: #000000; background-color: #ffffff; font-family: Monospaced}
pre {color: #000000; background-color: #ffffff; font-family: Monospaced}
table {color: #000000; background-color: #e9e8e2; font-family: Monospaced}
.ST3 {font-family: Monospaced; font-style: italic}
.ST0 {font-family: Monospaced; font-weight: bold}
.comment {color: #969696}
.ST4 {color: #ce7b00; font-family: Monospaced; font-weight: bold}
.ST1 {color: #009900}
.character {color: #ce7b00}
.ST2 {color: #009900; font-family: Monospaced; font-style: italic}
.keyword-directive {color: #0000e6}
</style></head></html>
<br />
<table style="width: 100%px;"><tbody>
<tr><td align="center"><div style="text-align: left;">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
</div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #783f04;"><b><span lang="EN-US">The Mobile Information Device Profile --
the platform for mobile Java applications -- provides a mechanism for MIDP
applications to persistently store data locally, across multiple invocations
and retrieve it later. </span></b></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #783f04;"><b><span lang="EN-US">This persistent storage mechanism can be
viewed as a simple record-oriented database model and is called the record
management system (RMS).</span></b></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #783f04;"><b><span lang="EN-US">The </span><code><span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt;">javax.microedition.rms.RecordStore</span></code><span lang="EN-US"> class represents a RMS record store, called otherwise a database
table. It provides several methods to manage as well as insert, update, and
delete records in a record store.</span></b></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #783f04;"><b><span lang="EN-US">The record store is created in
platform-dependent locations, like nonvolatile device memory.</span></b></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="color: #783f04;"><b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;">I implemented a simple java class working with
RMS, that we can use in our j2me application:</span></b></span></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
D:\Programming\Java2ME\MobileApplicationDB\src\mobileapplicationdb\RmsDb.java</td></tr>
</tbody></table>
<br />
<pre> 1 <span class="keyword-directive">package</span> mobileapplicationdb;
2
3 <span class="keyword-directive">import</span> javax.microedition.rms.RecordStore;
4
5 <span class="keyword-directive">public</span> <span class="keyword-directive">class</span> <span class="ST0">RmsDb</span> {
6 <span class="keyword-directive">private</span> RecordStore <span class="ST1">rmsDb</span> = <span class="keyword-directive">null</span>;
7 <span class="keyword-directive">static</span> <span class="keyword-directive">final</span> String <span class="ST2">LOCAL_DB_NAME</span> = <span class="character">"</span><span class="character">rms_db_example</span><span class="character">"</span>;
8
9 <span class="keyword-directive">public</span> <span class="ST0">RmsDb</span>() {
10 }
11
12 <span class="keyword-directive">public</span> <span class="keyword-directive">void</span> <span class="ST0">openRecStore</span>() {
13 <span class="keyword-directive">try</span> {
14 <span class="comment">// The second parameter indicates that the record store</span>
15 <span class="comment">// should be created if it does not exist</span>
16 <span class="ST1">rmsDb</span> = RecordStore.<span class="ST3">openRecordStore</span>(<span class="ST2">LOCAL_DB_NAME</span>, <span class="keyword-directive">true</span> );
17 }
18 <span class="keyword-directive">catch</span> (Exception e) {
19 System.<span class="ST2">out</span>.println(e.toString());
20 }
21 }
22
23 <span class="keyword-directive">public</span> <span class="keyword-directive">void</span> <span class="ST0">closeRecStore</span>() {
24 <span class="keyword-directive">try</span> {
25 <span class="ST1">rmsDb</span>.closeRecordStore();
26 }
27 <span class="keyword-directive">catch</span> (Exception e) {
28 System.<span class="ST2">out</span>.println(e.toString());
29 }
30 }
31
32 <span class="keyword-directive">public</span> <span class="keyword-directive">void</span> <span class="ST0">deleteRecStore</span>() {
33 <span class="keyword-directive">if</span> (RecordStore.<span class="ST3">listRecordStores</span>() != <span class="keyword-directive">null</span>) {
34 <span class="keyword-directive">try</span> {
35 RecordStore.<span class="ST3">deleteRecordStore</span>(<span class="ST2">LOCAL_DB_NAME</span>);
36 }
37 <span class="keyword-directive">catch</span> (Exception e) {
38 System.<span class="ST2">out</span>.println(e.toString());
39 }
40 }
41 }
42
43 <span class="keyword-directive">public</span> <span class="keyword-directive">void</span> <span class="ST0">writeRecord</span>(String str) {
44 <span class="keyword-directive">byte</span>[] record = str.getBytes();
45 <span class="keyword-directive">try</span> {
46 <span class="ST1">rmsDb</span>.addRecord(record, 0, record.<span class="ST1">length</span>);
47 }
48 <span class="keyword-directive">catch</span> (Exception e) {
49 System.<span class="ST2">out</span>.println(e.toString());
50 }
51 }
52
53 <span class="keyword-directive">public</span> String <span class="ST0">readRecords</span>() {
54 String res = <span class="character">""</span>;
55 StringBuffer buf = <span class="keyword-directive">new</span> StringBuffer();
56 <span class="keyword-directive">try</span> {
57 <span class="keyword-directive">byte</span>[] recData = <span class="keyword-directive">null</span>;
58 <span class="keyword-directive">int</span> intLen;
59
60 <span class="keyword-directive">for</span> (<span class="keyword-directive">int</span> i = 1; i <= <span class="ST1">rmsDb</span>.getNumRecords(); i++) {
61 recData = <span class="keyword-directive">new</span> <span class="keyword-directive">byte</span>[<span class="ST1">rmsDb</span>.getRecordSize(i)];
62 intLen = <span class="ST1">rmsDb</span>.getRecord(i, recData, 0);
63 res = <span class="character">"</span><span class="character">Record no.</span><span class="character">"</span> + i + <span class="character">"</span><span class="character">: </span><span class="character">"</span> + <span class="keyword-directive">new</span> String(recData, 0, intLen)+<span class="character">"</span><span class="ST4">\n</span><span class="character">"</span>;
64 buf.append(res);
65 }
66 res = buf.toString();
67 }
68 <span class="keyword-directive">catch</span> (Exception e) {
69 System.<span class="ST2">out</span>.println(e.toString());
70 }
71 <span class="keyword-directive">return</span> res;
72 }
73
74 }
</pre>
-->
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-67589172140132204952012-11-06T02:33:00.000-08:002012-11-06T23:36:59.786-08:00Mobile phones with Codename One – Getting/Storing data from/into xml file<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
<br />
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">Today I found a
short description on wikipedia about how many technologies are in mobile
application development area. </span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><a href="http://en.wikipedia.org/wiki/Mobile_application_development">http://en.wikipedia.org/wiki/Mobile_application_development</a></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">You can choose
your programming language that you prefer to use, and you will find which
mobile platform you can address with it.</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">The <b><i>Codename One</i></b><span style="mso-spacerun: yes;"> </span>technology uses the java language and
enables Java Developers to build true native applications for all mobile/tablet
platforms. Sounds quite interesting and it is. However, for the J2ME enabled
phones, personally I prefer to use the j2me language and environment with the
Netbeans IDE. </span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">But let see through a short example, what
is Codename One. It declares that you have just 5 easy steps for app
development:</span></span></span></div>
<div class="MsoNormal" style="margin-left: 36pt; text-align: left; text-indent: -18pt;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="EN-US">downloading the codename one plugin
for free (eclipse or netbeans)</span></span></span></div>
<div class="MsoNormal" style="margin-left: 36pt; text-align: left; text-indent: -18pt;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="EN-US">write your code in java</span></span></span></div>
<div class="MsoNormal" style="margin-left: 36pt; text-align: left; text-indent: -18pt;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="EN-US">you have a designer for the GUI</span></span></span></div>
<div class="MsoNormal" style="margin-left: 36pt; text-align: left; text-indent: -18pt;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="EN-US">and you have an embedded simulator to
test your app</span></span></span></div>
<div class="MsoNormal" style="margin-left: 36pt; text-align: left; text-indent: -18pt;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="EN-US">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="EN-US">Generate a native mobile application
for the desired device, sending to the build server, your code to be build.
(you can do this from your IDE)</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">You can have more
information at <a href="http://www.codenameone.com/">http://www.codenameone.com/</a></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">Now, let’ see a
short example code, how to read and write xml file with codename one.</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">After you create a codename one project in your ide, just put a button and a label onto your
form using the designer.</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">I used the
following xml file for this example:</span></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHkfEt8IQTiv2kCkek3WYWC5m_R8GKdEo-uE2R9TYy5VeSuASjhKxIxl_3JINdxw48yupeREFlv7Op_oeKOKz1jIBYdJtfcaAdIa4AOC6nfVwpy7mtght9acGq1veaZ9x-hBfFvk7VpHI/s1600/xml.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHkfEt8IQTiv2kCkek3WYWC5m_R8GKdEo-uE2R9TYy5VeSuASjhKxIxl_3JINdxw48yupeREFlv7Op_oeKOKz1jIBYdJtfcaAdIa4AOC6nfVwpy7mtght9acGq1veaZ9x-hBfFvk7VpHI/s400/xml.jpg" width="400" /></a></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
</span></span></span></div>
<div class="MsoNormal">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">You must import packages like:</span></span></div>
<div class="MsoNormal">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">import
com.codename1.io.*;</span></span></div>
<div class="MsoNormal">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">import
com.codename1.ui.*; </span></span></div>
<div class="MsoNormal">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">import
com.codename1.ui.events.*;</span></span></div>
<div class="MsoNormal">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">import
com.codename1.xml.*;</span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span lang="HU" style="mso-ansi-language: HU;">//import
java.io.InputStreamReader;</span><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"> </span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">At the button’s
onclick event I associated the following code for reading XML files, and also
you will see the "xml write" in commented lines:</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>protected void
onMain_BtnDataAction(Component c, ActionEvent event) {<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>String fromXml = "empty";</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>try {</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//open the xml file for reading</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>BufferedInputStream file = new
BufferedInputStream(</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>FileSystemStorage.getInstance().openInputStream("example.xml"));
</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>InputStreamReader reader = new InputStreamReader(file);<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//processing the xml</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>XMLParser parser = new
XMLParser();<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Element elem;<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>elem = parser.parse(reader);<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>fromXml =
elem.getChildAt(0).getChildAt(0).getChildAt(0).getText();<span style="mso-spacerun: yes;"> </span> </span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">/*elem.getChildAt(0).getChildAt(0).getChildAt(0).setText("writebackintoxmlfile");<span style="mso-spacerun: yes;"> </span>FileSystemStorage.getInstance().openOutputStream("example.xml").write(elem.toString().getBytes());*/</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>catch (Exception e) {</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>System.out.println(e.getMessage());</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//label component - setting it's text
from the XML</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>findLblData().setText("XML:
"+fromXml);<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Dialog.show("Hello
world","Success reading XML","OK",null);<span style="mso-spacerun: yes;"> </span></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #cc0000;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><span lang="HU" style="mso-ansi-language: HU;">The result,
running your program:</span></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #20124d;"><span style="background-color: white;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjXhnbJKXqR7AsQa4SRqii7VWqhMVRJo7e0ZSdkg-8dmks1GN3mAY5jGlDJd0UrSRbGYm73httSjXuf3LjjrizSc4fuTHwmNC0f_aKpHzu6QXGoxR6FBGj48JB91qorDch9622x82RyaY/s1600/result.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjXhnbJKXqR7AsQa4SRqii7VWqhMVRJo7e0ZSdkg-8dmks1GN3mAY5jGlDJd0UrSRbGYm73httSjXuf3LjjrizSc4fuTHwmNC0f_aKpHzu6QXGoxR6FBGj48JB91qorDch9622x82RyaY/s640/result.jpg" width="339" /></a></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-998098810783906347.post-69831249173164429002012-10-26T04:26:00.005-07:002012-10-26T04:55:29.284-07:00MGWT – Reading data from XML file on mobile phones<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
<br />
<div class="MsoNormal">
<b><span style="color: #4c1130;"><span lang="HU" style="mso-ansi-language: HU;">MGWT stands for
making GWT(google web toolkit) work with mobile. </span></span></b></div>
<div class="MsoNormal">
<b><span style="color: #4c1130;"><span lang="EN-US">Mgwt works on all kind of mobile devices
that support webkit (like iPhone, iPad, iPod, Android, Blackberry, ...) and is
invented by Daniel Kurka. You can find more information and you can download
this java library on http://www.m-gwt.com/</span></span></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="color: #4c1130;"><span lang="HU" style="mso-ansi-language: HU;">In a short
presentation I would like you to show you, how can we read data from client
side xml file using the java programming language. </span></span></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="color: #4c1130;"><span lang="HU" style="mso-ansi-language: HU;">First of all, I
created a simple GWT web project and I added the Mgwt library to it. In all the
GWT projects, we have a configuration file, where we must list the additional
libraries and components of the project. </span></span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGXLi_rED9_kTUOnfgUT6MvRTAdIrAJoW-egltNs2GfnUEFtmTUorzjk0-m7ovyWrvb3KHPlzWrqhB-qx09r96Qf2GfAldJOj154jKfc8X0JmhU3EZ2b7S4LJXBg24T1KvUQLH42x5gmM/s1600/config.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGXLi_rED9_kTUOnfgUT6MvRTAdIrAJoW-egltNs2GfnUEFtmTUorzjk0-m7ovyWrvb3KHPlzWrqhB-qx09r96Qf2GfAldJOj154jKfc8X0JmhU3EZ2b7S4LJXBg24T1KvUQLH42x5gmM/s640/config.JPG" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="color: #4c1130;"><span lang="HU" style="mso-ansi-language: HU;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
</span></span></b></div>
<div class="MsoNormal">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">Here you can see
that I declared 4 package, each of them having its purpose. The first one,
user.User stands for gwt libraries, mgwt.MGWT shows us that it is a porject for
mobile phone that supports webkit, the xml.XML works with xml file, and 4th.
one stands for date and time functions. The gwt date and time library can be
downloaded from <a href="http://code.google.com/p/gwt-time/">http://code.google.com/p/gwt-time/</a>
which I also added to my project, to show you how can we use date and time
functions in our mgwt project.</span></b></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">The content of
the xml file which we will use in our project, to read data from, is looks
like:</span></b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4r0-mWNTDBtyWE_1vK24ilwxTw-Sk-6QarSM5IL7mWV0jF5ZMAZZqqYsBnjrilxFq3y48fq53CBucvRahEj9PjWkBB6fgMGKeu9iRkV5F2aPLLKLAzY1A2fvsRCegBU9xLEvMtqdsZ8/s1600/contentxml.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4r0-mWNTDBtyWE_1vK24ilwxTw-Sk-6QarSM5IL7mWV0jF5ZMAZZqqYsBnjrilxFq3y48fq53CBucvRahEj9PjWkBB6fgMGKeu9iRkV5F2aPLLKLAzY1A2fvsRCegBU9xLEvMtqdsZ8/s640/contentxml.JPG" width="640" /></a></div>
<div class="MsoNormal">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"> </span></b></span><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
</div>
<div class="MsoNormal">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">Reading from an
xml file with the gwt/mgwt project, can be resolved on client side, that means,
there is no need to any web application server, all the project runs in offline
mode too. If you would like to write back data to an xml file, then you need a
web application server, like Tomcat or any other to implement the server side
tehchnology using GWT-RPC(remote procedure call) technology. I wouldn’t like to
enter now in details, regarding server side programming, because this short
presentation is just about reading offline data.</span></b></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">I am going to
present now some lines of code form the main java file. The whole
project can be downloaded from my file server, <a href="http://siposlehel.atw.hu/">http://siposlehel.atw.hu</a></span></b></span></div>
<div class="MsoNormal">
<br /></div>
<ol start="1" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">Loading the xml file:</span></b></span></li>
</ol>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>try {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>RequestBuilder
requestBuilder = new
RequestBuilder(RequestBuilder.GET,"content.xml");<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>requestBuilder.sendRequest(null, new RequestCallback() {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void
onError(Request request, Throwable exception) {<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>System.out.println(exception.getMessage());</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void onResponseReceived(Request
request, Response response){<span style="mso-spacerun: yes;">
</span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>renderXML(response.getText());<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>});</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>} </span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>catch (Exception ex) {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>System.out.println(ex.getMessage());</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<ol start="2" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">Work with xml file – getting data
from xml</span></b></span></li>
</ol>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>private void renderXML(String
xmlText) {<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>try {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Document messageDom =
null;<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>messageDom =
XMLParser.parse(xmlText);<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>NodeList entries =
messageDom.getDocumentElement().getElementsByTagName("student");<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>for (int intI = 0 ; intI
< entries.getLength(); intI++) {<span style="mso-spacerun: yes;">
</span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Element entry =
(Element) entries.item(intI);<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>String keyValue =
entry.getElementsByTagName("id").item(0).getFirstChild().getNodeValue();<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//Getting the record
from xml with an id=1(strId)</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>if
(keyValue.equals(strId)) {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//getting the
the field <name> from the xml<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>strName =
entry.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//getting the
the field <begin> from the xml<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>strDate =
entry.getElementsByTagName("begin").item(0).getFirstChild().getNodeValue();<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>catch(Exception e) {</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>System.out.println(e.getMessage());</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<ol start="3" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;">using date and time utilities in our
MGWT project</span></b></span></li>
</ol>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>DateTime dateToday = new
DateTime();</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>int year =
dateToday.getYear();</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>int month = dateToday.getMonthOfYear();</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>int day =
dateToday.getDayOfMonth();</span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: #4c1130;"><b><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>strToday =
String.valueOf(year)+"."+String.valueOf(month)+"."+String.valueOf(day);<span style="mso-spacerun: yes;"> </span></span></b></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<span style="color: #4c1130;"><b><span lang="HU" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: HU; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;">The running application looks like this:</span></b></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-HXv8NfJu9W4Y67cho89AAeJIZwy3INi9Ssx7g9BuPuI-mm4kdvwwcBQ9HteL1TdXqmNnmqVbro18jn2nh5vlkpEdNW55P4cgYKWmngtUp3MLfnWHtH1o3VKD52qejiPa8WVuKQTDJY/s1600/running.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="628" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-HXv8NfJu9W4Y67cho89AAeJIZwy3INi9Ssx7g9BuPuI-mm4kdvwwcBQ9HteL1TdXqmNnmqVbro18jn2nh5vlkpEdNW55P4cgYKWmngtUp3MLfnWHtH1o3VKD52qejiPa8WVuKQTDJY/s640/running.JPG" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-43255367529471474742012-10-18T04:32:00.001-07:002012-10-18T04:32:51.547-07:00GWT Animation – GWT FX<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><br />
<span style="color: #b45f06;"><span style="font-size: large;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--></span></span><br />
<span style="color: #b45f06;"><span style="font-size: large;"><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</span></span><br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]--><span style="font-family: Arial,Helvetica,sans-serif;"><span style="color: #b45f06; font-size: small;"><span lang="EN-US">Google Web Toolkit (GWT) is a development
toolkit for building and optimizing complex browser-based applications. <a href="https://developers.google.com/web-toolkit/">https://developers.google.com/web-toolkit/</a></span></span></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="color: #b45f06; font-size: small;">
</span></span><br />
<div class="MsoNormal">
<span style="color: #b45f06; font-size: small;"><span lang="EN-US">You write your code in Java language and
the GWT compiler will produce to you the client side javascript(/ajax) and html
files. </span></span></div>
<span style="color: #b45f06; font-size: small;">
<div class="MsoNormal">
<span lang="EN-US">There are lot of additional java libraries
which you can use to improve your GWT application for free: </span></div>
<div class="MsoNormal">
<span lang="HU"><a href="http://code.google.com/p/gwt-google-apis/downloads/list">http://code.google.com/p/gwt-google-apis/downloads/list</a></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="HU">For example to do
animations, you can use the custom gwt animation tool and components, but there
is also a java package named gwt-fx, reachable from the list above mentioned. </span></div>
<div class="MsoNormal">
<span lang="HU">With gwt-fx you
have additional animation possibilities:</span></div>
<div class="MsoNormal">
<span lang="EN-US"><a href="http://code.google.com/p/gwt-fx/">http://code.google.com/p/gwt-fx/</a></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">I write a short application to demonstrate
some animation functionalities using the gwt-fx package and the custom gwt
animation component. This application is running on the free Google Application
Engine server:</span></div>
<div class="MsoNormal">
<b><span lang="EN-US"><a href="http://lehelsipos-gwt1.appspot.com/">http://lehelsipos-gwt1.appspot.com/</a></span></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">Using the custom GWT animation component, a
short example demonstrates us, a function of moving widgets:<span> </span></span></div>
</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><b><span style="color: lime;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--></span></b></span><br />
<span style="font-family: Georgia, "Times New Roman", serif;"><b><span style="color: lime;"><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</span></b></span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: Georgia, "Times New Roman", serif;"><b><span style="color: lime;"><span lang="EN-US">class CustomAnimation extends Animation {</span></span></b></span></div>
<span style="font-family: Georgia, "Times New Roman", serif;"><b><span style="color: lime;">
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>private int centerX = 120;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>private int centerY = 120;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>private int radius = 100;</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>@Override</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>protected void onComplete() {</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>super.onComplete();</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>//write code here, what to do after the animation stops</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>@Override</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>protected void onStart() {</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>super.onStart();</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>//write code here, what to do before the animation starts</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>@Override</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>protected void onUpdate(double progress) {</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>double radian = 2 * Math.PI * progress;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>updatePosition(your_gwt_widget1, radian, 0);</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>updatePosition(your_gwt_widget2, radian, 0.5 * Math.PI);</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>updatePosition(your_gwt_widget3, radian, Math.PI);</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>updatePosition(your_gwt_widget4, radian, 1.5 * Math.PI);</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>private void updatePosition(Widget w, double radian, double offset) {</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>radian += offset;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>double x = radius * Math.cos(radian) + centerX;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>double y = radius * Math.sin(radian) + centerY;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>YourPanelContainingTheWidgets.setWidgetPosition(w, (int) x,
(int) y);</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>}</span></div>
</span></b></span><br />
<br />
<span style="color: #b45f06;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="color: #b45f06;"><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</span></span><br />
<div class="MsoNormal">
<span style="color: #b45f06;"><span lang="EN-US">At your button click event you can use the
following code to start and stop this custom gwt animation:</span></span></div>
<span style="color: #b45f06;">
<div class="MsoNormal">
<span lang="EN-US">CustomAnimation animation;</span></div>
<div class="MsoNormal">
<span lang="EN-US">…..</span></div>
<div class="MsoNormal">
<span lang="EN-US">animation.run(4000);</span></div>
<span lang="EN-US" style="font-size: 12pt;">animation.cancel();</span> </span><br />
<span style="color: #b45f06;"><br /></span>
<span style="font-family: Georgia, "Times New Roman", serif;"><b><span style="color: lime;"><span style="color: #b45f06; font-size: small;"><span lang="EN-US"><span style="color: #b45f06; font-size: small;"><span lang="EN-US"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--></span></span></span></span></span></b></span><br />
<span style="font-family: Georgia, "Times New Roman", serif;"><b><span style="color: lime;"><span style="font-family: inherit;"><span style="color: #b45f06; font-size: small;"><span lang="EN-US"><span style="color: #b45f06; font-size: small;"><span lang="EN-US"><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]--></span></span></span></span></span><br /></span></b></span>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-51559944709907388682012-10-15T05:50:00.002-07:002012-10-15T05:50:13.581-07:00GWT - Getting Started with Chart Tools<span style="color: #783f04;">For using chart tools in your GWT web application project you need to download the gwt-visualization API(<b><i><tt>gwt-visualization.jar</tt></i></b>) from the web page of the Official Google Api Libraries for Google Web Toolkit:</span><br />
<a href="http://code.google.com/p/gwt-google-apis/downloads/list"><span style="color: blue;">http://code.google.com/p/gwt-google-apis/downloads/list</span></a><br />
<br /><span style="color: #783f04;">In the next step, inherit com.google.gwt.visualizatio in the module XML definition file, of your gwt web project.</span><br />
<pre class="prettyprint"><span style="color: #783f04;"><span class="tag"><inherits</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'com.google.gwt.visualization.Visualization'</span><span class="tag">/></span></span></pre>
<br />
<br />
<span style="color: #783f04;">You may try a sample code, using the chart libraries:</span><br />
<span style="color: #783f04;"></span><br />
<span style="color: #783f04;">import com.google.gwt.core.client.EntryPoint;<br />import com.google.gwt.user.client.ui.*;<br />import com.google.gwt.visualization.client.AbstractDataTable.ColumnType;<br />import com.google.gwt.visualization.client.DataTable;<br />import com.google.gwt.visualization.client.VisualizationUtils;<br />import com.google.gwt.visualization.client.visualizations.*;<br />import com.google.gwt.visualization.client.visualizations.PieChart.Options;<br /><br />/**<br /> * Main entry point.<br /> *<br /> * @author Lehel Sipos<br /> */<br />public class gwtchartEntryPoint implements EntryPoint {<br /><br /> public void onModuleLoad() { <br /> // Create a callback to be called when the visualization API<br /> // has been loaded.<br /> Runnable onLoadCallback = new Runnable() {<br /> public void run() {<br /> Panel panel = RootPanel.get(); <br /> // Create a pie chart visualization.<br /> PieChart pie = new PieChart(createDataTable(), createOptions()); <br /> panel.add(pie);<br /> }<br /> };<br /> // Load the visualization api, passing the onLoadCallback to be called<br /> // when loading is done.<br /> VisualizationUtils.loadVisualizationApi(onLoadCallback, PieChart.PACKAGE);<br /> }<br /><br /> private DataTable createDataTable() {<br /> /* create a datatable */<br /> DataTable data = DataTable.create();<br /> data.addColumn(ColumnType.STRING, "Prog. Language");<br /> data.addColumn(ColumnType.NUMBER, "Popularity");<br /> data.addRows(5);<br /> data.setValue(0, 0, "C");<br /> data.setValue(0, 1, 11); <br /> data.setValue(1, 0, "Visual Basic");<br /> data.setValue(1, 1, 2); <br /> data.setValue(2, 0, "Delphi");<br /> data.setValue(2, 1, 2); <br /> data.setValue(3, 0, "PHP");<br /> data.setValue(3, 1, 2); <br /> data.setValue(4, 0, "Java");<br /> data.setValue(4, 1, 10);<br /> return data;<br /> } <br /> <br /> private Options createOptions() {<br /> /* create pie chart */ <br /> Options options = Options.create();<br /> options.setWidth(450);<br /> options.setHeight(300);<br /> options.set3D(true);<br /> options.setTitle("Programming Languages");<br /> return options; <br /> } <br /> }</span><br />
<br />
<span style="color: #783f04;">This java code will be translated by the GWT compiler to html and javascript code, runnable in your browser:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7503NAbVR0MRXmyQaGQA0CzcXD_bRANt5XEoaMaowovbV9E3mMO7OHAqooyXKNIl8L5YRnNEjL6dD3VJJBtgR2FtVzsinlLtlrS8z9IcAS7AZFk6-esB5MiFlGjkKfedObSwkc6vYjHs/s1600/Clip1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7503NAbVR0MRXmyQaGQA0CzcXD_bRANt5XEoaMaowovbV9E3mMO7OHAqooyXKNIl8L5YRnNEjL6dD3VJJBtgR2FtVzsinlLtlrS8z9IcAS7AZFk6-esB5MiFlGjkKfedObSwkc6vYjHs/s400/Clip1.jpg" width="400" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiivVsBnClmNatLEhW8Y9TNvFVIQPjyALXqLGAqGPh3UVxA2gFO9obmNOY3ANjaB4ouvGhNrjG8Pk1dUcpdTyv3_tT2j5wqlD3P4mGIgmFL-WO5jsu-bZkI6Yr5Ps89TxxYwcmkcXgA98/s1600/Clip2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiivVsBnClmNatLEhW8Y9TNvFVIQPjyALXqLGAqGPh3UVxA2gFO9obmNOY3ANjaB4ouvGhNrjG8Pk1dUcpdTyv3_tT2j5wqlD3P4mGIgmFL-WO5jsu-bZkI6Yr5Ps89TxxYwcmkcXgA98/s400/Clip2.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="color: #783f04;"><br /> </span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-81607690552072483042012-10-11T12:58:00.004-07:002012-10-11T13:03:51.010-07:00Vaadin – using html template files as a layout in a vaadin application<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
<br />
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">While it is possible in a
<i>Vaadin application</i> to create almost any typical layout with the standard
layout components, it is sometimes best to separate the layout completely from
code.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">With the <b>CustomLayout
vaadin </b>component, you can write your layout as a template in XHTML
separately, and this html file will contain div elements with the location
attribute, to provide locations of any contained vaadin widget in it. </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">The layout template html
is included in a theme directory in your web directory. </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">..\web\VAADIN\themes\sampletheme\layouts\examplecustomlayout.html</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">This separation allows
the layout to be designed separately from code, for example using WYSIWYG web
designer tools such as Adobe Dreamweaver. </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">Vaadin requires that the templates layout
must use UTF-8 charset</span><span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<u><span lang="EN-US" style="font-family: Arial; font-size: 10.0pt;">Let’ look how does it
look such a HTML template layout file, that holds place for vaadin widgets:</span></u></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><table></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tbody></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td colspan="2"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><h1 style="margin-top: 0pt;"
align="center">Belépés a banki rendszerbe</h1></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td> </td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td align="right">Felhasználó:</td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><b><span style="color: red;"><div
location="username"></div></span></b></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td align="right">Jelszó:</td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><b><span style="color: red;"><div
location="password"></div></span></b></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td colspan="2" align="right"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><b><span style="color: red;"><div location="okbutton"
style="padding: 10px;"></div></span></b></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td colspan="2" style="padding: 7px; background-color:
rgb(255, 172, 132);"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><img src="examplecustomlayout_elemei/icon_info.gif"
align="absbottom">Kérem adja meg a belépési adatait. </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><td> </td></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tr></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></tbody></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"></table></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">The whole template html should look like
this at design view:</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_sC2KSxXL9P6-cO0UQxWTvIxd5ClyDTgaH3faKQhjgvUDezLMQNWjiLohMnU2ZoDAtEtDVRfY6Up4DkevMUb43hcvU3XDEh7tuS2Hzus_in6UjPxy4zYJNnRVK0i7_O4TU2N1V9cyQ9M/s1600/sablon.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_sC2KSxXL9P6-cO0UQxWTvIxd5ClyDTgaH3faKQhjgvUDezLMQNWjiLohMnU2ZoDAtEtDVRfY6Up4DkevMUb43hcvU3XDEh7tuS2Hzus_in6UjPxy4zYJNnRVK0i7_O4TU2N1V9cyQ9M/s400/sablon.jpg" width="400" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><br /></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">Now let’s have the java code which will
use this template above, in a vaadin application:</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">First the we work with the main starting
java file:</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import com.vaadin.Application;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import com.vaadin.ui.*;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import com.vaadin.data.*;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">/** </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>*</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>*
@author Sipos Lehel</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>*
@version 1.0.0.0</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>*/</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">public class MyApplication extends
Application {</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>@Override</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>public void init() {</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>//create the directory for your own Theme</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>//web\VAADIN\themes\lehel\styles.css</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>setTheme("lehel");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>Window mainWindow = new Window("HTML TEMPLATE EXAMPLE");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>mainWindow.setName("main");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>//instantiating the java class working with the HTML layout templat </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>CustomLayoutsExample template = new CustomLayoutsExample();</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>mainWindow.addComponent(template);</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>setMainWindow(mainWindow);</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">}</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">Then let’ see the class which will hold
the html template file:</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import com.vaadin.ui.Button.ClickEvent;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import com.vaadin.ui.*;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">import javax.management.Notification;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">@SuppressWarnings("serial")</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">public class CustomLayoutsExample extends
VerticalLayout {</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>//vaadin widget that we will place on the layout</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>Button ok;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>TextField username;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>PasswordField password;</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>public CustomLayoutsExample() {</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>setMargin(true);</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>// Create the custom layout html file, and set it as a component in</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>// the current vaadin layout</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>//d:\Programming\JavaVaadin\Vaadin1\web\VAADIN\themes\lehel\layouts\examplecustomlayout.html</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>CustomLayout custom = new CustomLayout("examplecustomlayout");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>addComponent(custom);</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>// Create components and bind them to the location tags</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>// in the custom layout html template<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>username = new TextField();</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>custom.addComponent(username, "username");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>password = new PasswordField();</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>custom.addComponent(password, "password");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>ok = new Button("Belépés");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>custom.addComponent(ok, "okbutton");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>ok.addListener(new Button.ClickListener() {</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>@Override</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void buttonClick(ClickEvent event) {<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//verifying that the fields are filled or not</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>if
(!username.getValue().toString().equals("") &&
!password.getValue().toString().equals(""))</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>ok.getApplication().getWindow("main").showNotification("Figyelem!",
"A belépés folyamatban");</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>else</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>ok.getApplication().getWindow("main").showNotification("Figyelem!",
"Töltse ki a mezőket");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>});<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">}</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;">After running the vaadin application that
uses the html template file the result will be:</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6GfYcj6LO2EqCA1fcX-bSxyIoY3CXEYBD5uQpxjVpIS9L8SxdKebkyikq0Pivjb6dvCRWfUSlSv0UV_Q_j9eMARveEY9yqLiQg6jbbI8gGE_jKG3eHhBbNJh6tup6-Vk3n0rW9xb9iY0/s1600/running.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="287" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6GfYcj6LO2EqCA1fcX-bSxyIoY3CXEYBD5uQpxjVpIS9L8SxdKebkyikq0Pivjb6dvCRWfUSlSv0UV_Q_j9eMARveEY9yqLiQg6jbbI8gGE_jKG3eHhBbNJh6tup6-Vk3n0rW9xb9iY0/s400/running.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguSp7qTJzwo4cqVui1g2DFOsY3PvU8Q7T46BzRN98FkTzGc9Pc9ayu-KdjjHrVpgWqbKj0Sy5BYekIylp317huWEDhtd2ro_R1BjHmssdqxN1EGlmFvyEd5pwdBmqLdEBgLzrrmENMyuM/s1600/clcikmessage.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguSp7qTJzwo4cqVui1g2DFOsY3PvU8Q7T46BzRN98FkTzGc9Pc9ayu-KdjjHrVpgWqbKj0Sy5BYekIylp317huWEDhtd2ro_R1BjHmssdqxN1EGlmFvyEd5pwdBmqLdEBgLzrrmENMyuM/s400/clcikmessage.JPG" width="400" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><br /></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;">
<span lang="HU" style="mso-ansi-language: HU;"><br /></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-32414038966337017012012-10-05T12:46:00.003-07:002012-10-05T12:52:04.181-07:00MGWT – using GWT Map widget on mobile phone with mgwt<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><b><span style="color: #274e13;"><span lang="HU" style="mso-ansi-language: HU;">I am going to
demonstrate with this short presentation the use of gwt-maps library with MGWT
technology, and this is about how to develop a mobile application under
Netbeans IDE, for all the mobile phones that supports webkit. The
application will have a simple button component that the user clicks, a map
appears on the screen, positioned to Satu Mare city, where I live.</span></span></b></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="HU" style="mso-ansi-language: HU;">If you have the
Netbeans IDE ver 7.2 installed on your computer, or any other java editor, just
follow the steps:</span></div>
<ol start="1" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span lang="HU" style="mso-ansi-language: HU;">download and install(unzip) to your
computer the GWT<span style="mso-spacerun: yes;"> </span>SDK(google web
toolkit)</span></li>
</ol>
<div class="MsoNormal" style="margin-left: 18.0pt; text-indent: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><a href="https://developers.google.com/web-toolkit/download">https://developers.google.com/web-toolkit/download</a></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<ol start="2" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span lang="HU" style="mso-ansi-language: HU;">if you have Netbeans IDE, download
the latest GWT plugin for Netbeans, and install it from
Tools->Plugins->Downloaded</span></li>
</ol>
<div class="MsoNormal" style="margin-left: 18.0pt; text-indent: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><a href="http://plugins.netbeans.org/plugin/44509/gwt4nb">http://plugins.netbeans.org/plugin/44509/gwt4nb</a></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<ol start="3" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span lang="HU" style="mso-ansi-language: HU;">download and install(unzip) the
latest version of MGWT sdk library(making gwt work with mobile) </span></li>
</ol>
<div class="MsoNormal" style="margin-left: 36.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><a href="http://www.m-gwt.com/">http://www.m-gwt.com/</a></span></div>
<div class="MsoNormal">
<br /></div>
<ol start="4" style="margin-top: 0cm;" type="1">
<li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"><span lang="HU" style="mso-ansi-language: HU;">download and install(unzip) the gwt
map library, version 1.1</span></li>
</ol>
<div class="MsoNormal" style="margin-left: 36.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><a href="http://code.google.com/p/gwt-google-apis/downloads/detail?name=gwt-maps-1.1.1.zip&can=2&q">http://code.google.com/p/gwt-google-apis/downloads/detail?name=gwt-maps-1.1.1.zip&can=2&q</a>=</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="margin-left: 36.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">After these steps just create a web application with Netbeans and use for
example the Tomcat Apache web server for running the program. Creating the
application with Netbeans wizard, you will have the option to add to your project, the GWT sdk, at the end of the wizard, by checking it.</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">After creating your project, right click on project properties window, and
add the library of MGWT(mgwt-1.1.1.jar) too and also the library of
gwt-map(gwt-maps.jar).</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoBodyTextIndent">
<span lang="HU">In your project, find the *.gwt.xml
file, open it, and add the following lines to the existing code:</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><inherits
name="com.google.gwt.user.User"/></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<b><i><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><inherits name='com.googlecode.mgwt.MGWT'/></span></i></b></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<b><i><span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span><inherits name='com.google.gwt.maps.GoogleMaps'/></span></i></b></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">//if you use firefox</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<b><span lang="HU" style="mso-ansi-language: HU;"><set-property name="user.agent"
value="gecko1_8"/></span></b></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">//or for example chrome</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<b><span lang="HU" style="mso-ansi-language: HU;"><set-property name="user.agent"
value="safari"/><span style="mso-spacerun: yes;"> </span></span></b></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoBodyTextIndent">
<span lang="HU">One more step.... :) add the following java
code to onModuleLoad() procedure in your EntryPoint java file:</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void onModuleLoad()
{<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//build some UI</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>layoutPanel = new
LayoutPanel();</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>Button button = new
Button("View the MAP!");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>layoutPanel.add(button);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>//for click event</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>button.addTapHandler(new TapHandler()
{</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>@Override</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void onTap(TapEvent
event) {</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>Maps.loadMapsApi("", "2", false, new Runnable() {</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>public void run() {</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Open a map
centered on Satu Mare, Romania</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>LatLng SatuMareCity
= LatLng.newInstance(47.792091, 22.885189);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>final MapWidget map
= new MapWidget(SatuMareCity, 2);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>map.setSize("100%", "100%");</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Add some controls
for the zoom level</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>map.addControl(new
LargeMapControl());</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Add a marker</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>map.addOverlay(new
Marker(SatuMareCity));</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Add an info
window to highlight a point of interest</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>map.getInfoWindow().open(map.getCenter(),</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>new InfoWindowContent("The River Somes is here in
Satu Mare"));</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>final
DockLayoutPanel dock = new DockLayoutPanel(Unit.PX);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>dock.addNorth(map,
500);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>// Add the map to
the HTML host page</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>layoutPanel.add(dock);</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>});</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}) ;<span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;">
</span>RootPanel.get().add(layoutPanel);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">Where the compoent <b>layoutPanel</b> is a global variable defined in the
main class file, that implements <b>EntryPoint</b>, and where also the method
above is situated.</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">LayoutPanel layoutPanel;</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">You can test your application under your browser, but there are also
emulators on the web which you can use to test mobile applicatons:</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;"><a href="http://tablet-emulator.org/">http://tablet-emulator.org/</a></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">If you run, the application above should look like:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdyATNJ-IkN0VrMeegtHRewC_dB0grVjZ2sGpagCEhYL4GKhZLqGAQF5MaG-ATUTMaB2APz0YlaUwYgZjzyenE6BbfEi7qfdLUAlS8dEuBhtxVCOkRjioeMEZkoQnJ0OIcPcTdfKS2mlM/s1600/test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdyATNJ-IkN0VrMeegtHRewC_dB0grVjZ2sGpagCEhYL4GKhZLqGAQF5MaG-ATUTMaB2APz0YlaUwYgZjzyenE6BbfEi7qfdLUAlS8dEuBhtxVCOkRjioeMEZkoQnJ0OIcPcTdfKS2mlM/s1600/test.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<br /></div>
Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-998098810783906347.post-7204533529422285982012-09-21T09:48:00.001-07:002012-09-21T10:01:37.751-07:00JavaFx 2.2 – Webservice - Oracle DB example<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoBodyText">
<span style="color: magenta;"><span lang="HU" style="mso-ansi-language: HU;">This short
example demonstrates us, how javafx works as a client, in an application having
a client-server arhitecture. The tutorial uses the following softwares and
tools, and if you wish to try it, you should have installed, these on your
computer:</span></span></div>
<div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="HU" style="color: magenta; mso-ansi-language: HU;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="HU" style="color: magenta; mso-ansi-language: HU;">Oracle Database Express Edition 11g Release</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">(<a href="http://www.oracle.com/technetwork/products/express-edition/downloads/index.html">http://www.oracle.com/technetwork/products/express-edition/downloads/index.html</a>)</span></div>
<div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="HU" style="color: magenta; mso-ansi-language: HU;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="HU" style="color: magenta; mso-ansi-language: HU;">Java SE Development Kit 7</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span style="color: magenta;">JavaFX SDK is now included in the JDK 7 for Windows, Mac
OS X, and Linux x86/x64.</span><span lang="HU" style="color: #ff6600; mso-ansi-language: HU;"></span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">(<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html">http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html</a>)</span></div>
<div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="HU" style="color: magenta; mso-ansi-language: HU;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="HU" style="color: magenta; mso-ansi-language: HU;">Netbeans 7.2 Development IDE</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">(<a href="http://netbeans.org/downloads/index.html">http://netbeans.org/downloads/index.html</a>)</span><span style="color: magenta;"><span lang="HU">. Download the Java EE or the full
version of Netbeans. This setup will install to your computer the Apache Tomcat
and also the Glassfish Server if you check these options. In this tutorial we
use just the Tomcat Apache Server 7.0.27.</span></span></div>
<div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="HU" style="color: magenta; mso-ansi-language: HU;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><span lang="HU" style="color: magenta; mso-ansi-language: HU;">JDBC Driver to the Oracle Database Express Edition 11g</span></div>
<div class="MsoNormal" style="margin-left: 18.0pt;">
<span lang="HU" style="mso-ansi-language: HU;">(<a href="http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html">http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html</a>)</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoBodyText">
<span lang="EN-US"><span style="color: magenta;">Web services are Web based applications
that use open, XML-based standards and transport protocols to exchange data
with clients. Web services are developed using Java Technology APIs and tools
provided by an integrated Web Services Stack called Metro. The Metro library
package is also installed on your computer by <span style="font-family: inherit;">Netbeans</span></span>. </span></div>
<div class="MsoBodyText">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><span lang="EN-US" style="color: magenta; font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;">JavaFX
is the next step in the evolution of Java as a rich client platform. It is
designed to provide a lightweight, hardware-accelerated Java UI platform for
enterprise business applications. With JavaFX, developers can preserve existing
investments by reusing Java libraries in their applications. They can even
access native system capabilities, or seamlessly connect to server-based
middleware applications.</span></div>
<div class="MsoBodyText">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #b45f06;"><i>FYI:</i></span></div>
<div class="MsoBodyText">
<span style="color: #b45f06;"><span lang="EN-US">You can use also your favorite IDE
instead of Netbeans, but you must ensure that the additional packages(Tomcat,
Metro), are also installed.</span></span></div>
<div class="MsoBodyText">
<span lang="EN-US"> </span><span style="color: #b45f06;"><span lang="EN-US">After having installed all the software
and tools, we will have 3 more steps to do, first database operations, then
creating the web service in Netbeans, and finally the client part programming,
javafx.</span></span></div>
<div class="MsoBodyText">
<br /></div>
<h2 style="margin-left: 36.0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="EN-US">1.<span style="font: 7.0pt "Times New Roman";"> </span></span><span lang="EN-US">Database tasks</span></h2>
<div class="MsoBodyText2">
<span lang="EN-US"><span style="color: magenta;">The example is about storing information
about books, read by me, and retrieving information from database by a given
book id, and presenting them by javafx client, through a webservice. In the
database we will have a book table, with the fields: Id, Title and Writer. To
increment the primary key at every new record, in the book table, we use triggers
and sequences in Oracle. You should use, the free SQLDeveloper tool. </span>(<a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html">http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html</a>).
<span style="color: magenta;">The sql code for creating a login user, the table, sequence, and trigger, are
the following:</span></span></div>
<h3>
<span lang="EN-US">Login user</span></h3>
<div class="MsoNormal">
<span lang="EN-US">-- Create the user </span></div>
<div class="MsoNormal">
<span lang="EN-US">create user TESTER</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>identified by ""</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>default tablespace SYSTEM</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>temporary tablespace TEMP</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>profile DEFAULT</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>password expire;</span></div>
<div class="MsoNormal">
<span lang="EN-US">-- Grant/Revoke role privileges </span></div>
<div class="MsoNormal">
<span lang="EN-US">grant dba to TESTER;</span></div>
<div class="MsoNormal">
<span lang="EN-US">-- Grant/Revoke system privileges </span></div>
<div class="MsoNormal">
<span lang="EN-US">grant unlimited tablespace to TESTER;</span></div>
<h3>
<span lang="EN-US">Create table</span></h3>
<div class="MsoNormal">
<span lang="EN-US">-- Create table</span></div>
<div class="MsoNormal">
<span lang="EN-US">create table BOOK</span></div>
<div class="MsoNormal">
<span lang="EN-US">(</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>ID<span style="mso-spacerun: yes;"> </span>NUMBER not null,</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>TITLE<span style="mso-spacerun: yes;"> </span>NVARCHAR2(50) not null,</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>WRITER NVARCHAR2(100)</span></div>
<div class="MsoNormal">
<span lang="EN-US">)</span></div>
<div class="MsoNormal">
<span lang="EN-US">tablespace SYSTEM</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>pctfree 10</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>pctused 40</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>initrans 1</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>maxtrans 255</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>storage</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>(</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>initial 64K</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>next 1M</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>minextents 1</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>maxextents unlimited</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>);</span></div>
<div class="MsoNormal">
<span lang="EN-US">-- Add comments to the table </span></div>
<div class="MsoNormal">
<span lang="EN-US">comment on table BOOK</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>is
'Testing javafx and webservice';</span></div>
<div class="MsoNormal">
<span lang="EN-US">-- Add comments to the columns </span></div>
<div class="MsoNormal">
<span lang="EN-US">comment on column BOOK.ID</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>is
'Primary key';</span></div>
<div class="MsoNormal">
<span lang="EN-US">comment on column BOOK.TITLE</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>is
'Title of the book';</span></div>
<div class="MsoNormal">
<span lang="EN-US">comment on column BOOK.WRITER</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>is
'Writer of the book';</span></div>
<div class="MsoNormal">
<span lang="EN-US">-- Create/Recreate primary, unique and
foreign key constraints </span></div>
<div class="MsoNormal">
<span lang="EN-US">alter table BOOK</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>add constraint PK_ID primary key (ID)</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>using index </span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>tablespace SYSTEM</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>pctfree 10</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>initrans 2</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>maxtrans 255</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>storage</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>(</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>initial 64K</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>next 1M</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>minextents 1</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>maxextents unlimited</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>);</span></div>
<h3>
<span lang="EN-US">Create sequence</span></h3>
<div class="MsoNormal">
<span lang="EN-US">-- Create sequence </span></div>
<div class="MsoNormal">
<span lang="EN-US">create sequence SEQ_BOOK</span></div>
<div class="MsoNormal">
<span lang="EN-US">minvalue 1</span></div>
<div class="MsoNormal">
<span lang="EN-US">maxvalue 9999999999999999999999999999</span></div>
<div class="MsoNormal">
<span lang="EN-US">start with 1</span></div>
<div class="MsoNormal">
<span lang="EN-US">increment by 1</span></div>
<div class="MsoNormal">
<span lang="EN-US">cache 20;</span></div>
<h3>
<span lang="EN-US">Create trigger</span></h3>
<div class="MsoNormal">
<span lang="EN-US">create or replace trigger TRG_BOOK</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>before insert on book<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>for each row</span></div>
<div class="MsoNormal">
<span lang="EN-US">declare</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>--
local variables here</span></div>
<div class="MsoNormal">
<span lang="EN-US">begin</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>IF INSERTING THEN </span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>IF
:NEW.ID IS NULL THEN</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>SELECT SEQ_BOOK.NEXTVAL INTO :NEW.ID FROM DUAL;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>END IF;</span></div>
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;"> </span>END
IF; </span></div>
<div class="MsoNormal">
<span lang="EN-US">end TRG_BOOK;</span></div>
<div class="MsoNormal">
<span lang="EN-US">/</span></div>
<div class="MsoNormal">
<br /></div>
<h2 style="margin-left: 36.0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="EN-US">2.<span style="font: 7.0pt "Times New Roman";"> </span></span><span lang="EN-US">Creating the Webservice</span></h2>
<div class="MsoBodyText2">
<span lang="EN-US"><span style="color: magenta;">Using the Netbeans IDE, to create a
webservice, is very easy. First you create a Web Application, by doing: File-New
Web Application in Netbeans' Menu. In this demo, we use the Apache Tomcat
7.0.27. as a webserver for our web application. Netbeans 7.2 IDE allows you to
choose this webserver, when you create the web application. After the first
step we easyly create the webservice, just right clicking on project
source and saying, create webservice. Name your webservice(class),</span> </span><b><span lang="EN-US" style="color: #339966;">WebServcieForJavaFx</span><span lang="EN-US">.</span></b><span lang="EN-US"> <span style="color: magenta;">Then Netbeans will create you, also a simple “hello” example method,
that we will change to the method </span></span><b><span lang="EN-US" style="color: #339966;">GetBookInfo.
</span></b><span lang="EN-US"><span style="color: magenta;">The GetBookInfo() function will retrieve the
informations, book title and writer from database, by an ID. The ID will be an
input parameter to this method, and the return type of this function will be a special
type, created by us: </span></span><b><span lang="EN-US" style="color: #339966;">RecordType</span></b><span lang="EN-US">. <span style="color: magenta;">Because the program works with Oracle database you must also add
the oracle jdbc driver to this project. Right click at the project and at the
Properties you can add the ojdbc6.jar file. </span></span></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">First let’s see the special return type,
the RecordType java class file, how it looks: </span></span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">package utils;</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">/**</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>* @author Sipos Lehel</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*/</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">public class
RecordType {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>private String Title;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>private String Writer;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>RecordType() {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public String getTitle() {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>return Title;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public void setTitle(String Title) {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>this.Title = Title;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public String getWriter() {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>return Writer;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public void setWriter(String Writer) {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>this.Writer = Writer;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">}</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">And then the webservice main class will
be the following:</span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">package server;</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
java.sql.Connection;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
java.sql.DriverManager;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
java.sql.Statement;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
java.sql.ResultSet;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
javax.jws.WebService;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
javax.jws.WebMethod;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import
javax.jws.WebParam;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">import utils.*;</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">/**</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>* @author Sipos Lehel</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*/</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">@WebService(serviceName
= "WebServiceForJavaFx")</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">public class
WebServiceForJavaFx {</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>@WebMethod(operationName =
"GetBookInfo")</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public RecordType
GetBookInfo(@WebParam(name = "strID") String strID) {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>RecordType answer = new RecordType();</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answer.setTitle("empty");</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answer.setWriter("empty");</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>try {<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>Class.forName("oracle.jdbc.OracleDriver");</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE",
"tester", "tester");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>ResultSet rs = null;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Statement stmt =<span style="mso-spacerun: yes;"> </span>con.createStatement();</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>rs=stmt.executeQuery("select
* from book where ID="+strID);<span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>if (rs!=null) {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>rs.next();</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>answer.setTitle(rs.getString("TITLE"));</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answer.setWriter(rs.getString("WRITER"));<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>rs.close();</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>stmt.close();<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>} catch (Exception ex) {</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answer.setTitle(ex.getMessage());</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answer.setWriter("Error
occured!");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>return answer;</span></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US" style="color: black;">}</span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">A webservice publishes it’s method
through a WSDL file, and therefore right click in Netbeans, at webservice and
say generate WSDL file. Start your webservice, by running this application. You
can test the web service information by also, right clicking in Netbeans:</span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US"></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVCyXDNVWvuHS77azG6qtPXsI7woLemb46vLAqKDGRdl116UR27kUU_5R5cvdqKVxhSyw5Gk2pYzw8WXGSRggWWxerr5C2tNO3Dgohh4kBJvnEs6U4SHzb0zbEJcy63JQwfelbGbWYLYA/s1600/wsdl_path.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVCyXDNVWvuHS77azG6qtPXsI7woLemb46vLAqKDGRdl116UR27kUU_5R5cvdqKVxhSyw5Gk2pYzw8WXGSRggWWxerr5C2tNO3Dgohh4kBJvnEs6U4SHzb0zbEJcy63JQwfelbGbWYLYA/s1600/wsdl_path.jpg" /></a></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<br /></div>
<h2 style="margin-left: 36.0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18.0pt;">
<span lang="EN-US">3.<span style="font: 7.0pt "Times New Roman";"> </span></span><span lang="EN-US">Programming JavaFx – webservice client</span></h2>
<div class="MsoNormal">
<span lang="EN-US" style="color: navy;"><span style="color: magenta;">To create a javafx
application in Netbeans, just simply say, File-New Project-JavaFx-Create JavaFx
Application. Call your java main file in this project:</span> </span><b><span lang="EN-US" style="color: teal;">WebClientJavaFx</span></b><span lang="EN-US" style="color: navy;">. </span></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">Creating a webservice client at the
second step, is also very easy, just right click your source in the Projects
window and say create web service client. Creating your webservice client you
will need to point the WSDL location, which you can do by specifying its URL:</span></span></div>
<div class="MsoBodyText2">
<span lang="EN-US"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpjDNaxOtWDvMMDCwWFqYjRevvujiuRzGSdVrEQZTJpUfO89A6HrDknzVxaz8HXLDD-ao8zc3CIfv9itO3R92vHNeO9WkOcvy3PQCHZ4hQK9tiOZMsNTEFYSY6RqSzx0J56ITCgCnV96E/s1600/javafx_wsdl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpjDNaxOtWDvMMDCwWFqYjRevvujiuRzGSdVrEQZTJpUfO89A6HrDknzVxaz8HXLDD-ao8zc3CIfv9itO3R92vHNeO9WkOcvy3PQCHZ4hQK9tiOZMsNTEFYSY6RqSzx0J56ITCgCnV96E/s1600/javafx_wsdl.jpg" /></a></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">In the java source file you can call the
Web Service Operation in your start method, by right clicking in the netbeans
source editor, and saying Insert Code and then Call Web Service Operation.</span></span></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">We will have 3 components to work with,
a button to call the webservice, a label to see the answer, and a field component
to bypass the ID input parameter to the webservice method.</span></span></div>
<div class="MsoNormal">
<span style="color: magenta;">Your WebClientJavaFx
java file, after programming should look like this:</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">package
webclientjavafx;</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.application.Application;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.event.ActionEvent;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.event.EventHandler;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.scene.Group;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.scene.Scene;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.scene.control.Button;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import javafx.scene.control.Label;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.scene.control.TextField;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
javafx.stage.Stage;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">import
webclientjavafx.webclient.RecordType;</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">/**</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>* @author Sipos Lehel</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>*/</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">public class
WebClientJavaFx extends Application {</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Label lbl = new Label("Lehel Sipos
read: ");</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>TextField fld = new
TextField("2");<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>RecordType answ;</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>@Override</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public void start(Stage primaryStage)
{<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answ =
getBookInfo("2");<span style="mso-spacerun: yes;">
</span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Button btn = new Button();</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>btn.setText("Get a book from the
shelf");</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>btn.setOnAction(new
EventHandler<ActionEvent>() {</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>@Override</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public void handle(ActionEvent
event) {</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>answ =
getBookInfo(fld.getText());</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>lbl.setText("Lehel Sipos
read: "+answ.getTitle()+" "+answ.getWriter());</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>});<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Group root = new Group();<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>root.getChildren().add(0,lbl);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>root.getChildren().add(1,fld); </span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>root.getChildren().add(2,btn); </span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>root.getChildren().get(0).setLayoutX(50);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>root.getChildren().get(0).setLayoutY(10);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>root.getChildren().get(1).setLayoutX(50);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>root.getChildren().get(1).setLayoutY(40);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>root.getChildren().get(2).setLayoutX(50);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>root.getChildren().get(2).setLayoutY(100);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>Scene scene = new Scene(root, 600,
250);<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>primaryStage.setTitle("JavaFx-Webservice example");</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>primaryStage.setScene(scene);</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>primaryStage.show();</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>public static void main(String[] args) {</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>launch(args);</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>private static RecordType
getBookInfo(java.lang.String strID) {</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>webclientjavafx.webclient.WebServiceForJavaFx_Service service = new
webclientjavafx.webclient.WebServiceForJavaFx_Service();</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;">
</span>webclientjavafx.webclient.WebServiceForJavaFx port =
service.getWebServiceForJavaFxPort();</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>return port.getBookInfo(strID);</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="color: black;">}</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">This application can be run also from
browsers, if the javafx applet will be a signed jar file, or maybe you change your
java.policy security file by adding the following lines to the
…jre7\lib\security\java.policy </span></span></div>
<div class="MsoBodyText2">
grant {<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoBodyText2">
<span style="mso-spacerun: yes;"> </span>permission java.security.AllPermission;</div>
<div class="MsoBodyText2">
};</div>
<div class="MsoBodyText2">
<span style="color: magenta;"><span lang="EN-US">The running program is showed in the
following pictures:</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnJyjbY1LsMRi41RoPQmAKt3xLdDsizBkJQEmCafjSqCkmJ85jZDxkrvGvxSaT8oZNXoXAEOTyYJ6Yh_CkfhktqQuIvhksujwcak1aSwiVd-vCPAaWv0iF2_1xR5FFZxcasdz6yowl9nw/s1600/work1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnJyjbY1LsMRi41RoPQmAKt3xLdDsizBkJQEmCafjSqCkmJ85jZDxkrvGvxSaT8oZNXoXAEOTyYJ6Yh_CkfhktqQuIvhksujwcak1aSwiVd-vCPAaWv0iF2_1xR5FFZxcasdz6yowl9nw/s1600/work1.jpg" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT6ZH3u0tNlhuo8SI0LMNve72-KUvLATYshoPJal9ZqHjt9upwPGyo441C1QMg9kF6A7asfPyk4iiNPCoKcWSdRbdO-13Pj7ZX-B_NyYr6tSOrVFo-MMrFKlgX20SOYn08Ex2SObNIbNA/s1600/work2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT6ZH3u0tNlhuo8SI0LMNve72-KUvLATYshoPJal9ZqHjt9upwPGyo441C1QMg9kF6A7asfPyk4iiNPCoKcWSdRbdO-13Pj7ZX-B_NyYr6tSOrVFo-MMrFKlgX20SOYn08Ex2SObNIbNA/s1600/work2.jpg" /></a></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US"></span></div>
<div class="MsoBodyText2">
<br /></div>
<div class="MsoBodyText2">
<span lang="EN-US"></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-42668421464367329772012-08-08T05:41:00.001-07:002012-08-28T03:22:34.074-07:00MGWT - A very simple example - click the button<b><u><span style="color: #cc0000;">MGWT</span></u></b> <br />
<br />
MGWT stands for developing mobile applications with GWT and mgwt.
<br />
Mgwt works on all kind of mobile devices that support webkit (like iPhone, iPad, iPod, Android, Blackberry, ...)<br />
<ul style="color: #38761d;">
<li>Native support for touchevent the GWT Way</li>
<li>Animations built in with GWT MVP</li>
<li>lots and lots of widgets</li>
<li>specific theme for each plattform (iOS, Android, ...) </li>
</ul>
<div style="color: #38761d;">
<br /></div>
Let' se a simple example starting from a Google Web Toolkit(GWT) project:<br />
<br />
1. Create a GWT project<br />
2. In your gwt xml file add this line:<br />
<inherits name='com.googlecode.mgwt.MGWT'/><br />
<br />
3. Add the MGWT library to your project<br />
(It can be downloaded from: <a href="http://www.m-gwt.com/">http://www.m-gwt.com/</a> )<br />
<br />
4. And your EntryPoint will be this: <br />
<br />
<br />
public class mobileEntryPoint implements EntryPoint {<br />
<br />
//global variables<br />
int countI;<br />
MTextBox lbl;<br />
<br />
public void onModuleLoad() {<br />
//initialization<br />
lbl = new MTextBox();<br />
countI=0;<br />
<br />
//set viewport and other settings for mobile<br />
MGWT.applySettings(MGWTSettings.getAppSetting());<br />
//build animation helper and attach it<br />
AnimationHelper animationHelper = new AnimationHelper();<br />
RootPanel.get().add(animationHelper);<br />
<br />
//build some UI<br />
LayoutPanel layoutPanel = new LayoutPanel();<br />
Button button = new Button("Hello User!"); <br />
//for click event<br />
button.addTapHandler(new TapHandler() {<br />
@Override<br />
public void onTap(TapEvent event) {<br />
countI++; <br />
lbl.setText("You clicked: "+countI+" times");<br />
} <br />
}) ; <br />
layoutPanel.add(button);<br />
layoutPanel.add(lbl);<br />
<br />
//animate at click<br />
animationHelper.goTo(layoutPanel, Animation.SLIDE); <br />
}<br />
}<br />
<br />
By using <a href="http://code.google.com/p/gwt-phonegap/">gwt-phonegap</a> and mgwt you can write applications that can be deployed into the app store or the market place with GWT. Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-998098810783906347.post-86026031514296282542012-07-19T13:10:00.002-07:002012-07-19T13:10:22.489-07:00JavaFx - Scene Builder<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/zqVFuc1o21w?feature=player_embedded' frameborder='0'></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-66665490977703754312012-06-14T06:26:00.003-07:002012-06-14T12:56:30.631-07:00GWT - plugin for Netbeans editor<div style="color: orange;">
<b>For using Google Web Toolkit (GWT) under Netbeans IDE, there is a plugin to install:</b></div>
<br />
<a href="http://plugins.netbeans.org/plugin/716/gwt4nb">http://plugins.netbeans.org/plugin/716/gwt4nb</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-18187329469712560722012-06-06T09:31:00.004-07:002012-06-06T09:31:37.301-07:00JavaFx - CHART example<u>We would like to have a chart of the imported fruits. </u><br />
<div style="color: #6aa84f;">
Let' see in <i>JavaFx</i> the <i>PieChart</i> diagram:</div>
<br />
public class JavaFXApplication1 extends Application {<br /><br /> public static void main(String[] args) {<br /> launch(args);<br /> }<br /> <br /> @Override<br /> public void start(Stage primaryStage) {<br /> <br /> primaryStage.setTitle("Chart example");<br /> ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList( <br /> new PieChart.Data("Grapefruit", 13), <br /> new PieChart.Data("Oranges", 25), <br /> new PieChart.Data("Plums", 10), <br /> new PieChart.Data("Pears", 22), <br /> new PieChart.Data("Apples", 30));<br /> PieChart chart = new PieChart(pieChartData);<br /> chart.setTitle("Imported Fruits"); <br /> <br /> StackPane root = new StackPane();<br /> root.getChildren().add(chart);<br /> primaryStage.setScene(new Scene(root, 300, 250));<br /> primaryStage.show();<br /> <br /> }<br />}<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-32344301899508907892012-06-06T09:15:00.001-07:002012-06-06T09:15:03.306-07:00Java - read from console, dos prompt<b><span style="color: blue;">The JAVA file is the following, for an example of reading input values from console:</span> </b><br />
<br />
package javaapplication1;<br /><br />import java.io.BufferedReader;<br />import java.io.IOException;<br />import java.io.InputStreamReader;<br /><br />public class JavaApplication1 {<br /><br /> public static void main(String[] args) throws IOException {<br /> <br /> BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));<br /> <br /> String prompt = ""; <br /> System.out.println("Enter your name: ");<br /> prompt = reader.readLine(); <br /> if (prompt.equals("\t"))<br /> System.out.println("You entered a TAB from your keyboard.");<br /> else<br /> System.out.println("Your name is: "+prompt);<br /> <br /> }<br />}Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-58935418814790866562012-06-01T05:41:00.003-07:002012-06-01T06:11:53.145-07:00Java - sorting strings with Hungarian characters <u style="color: magenta;">Let's sort some Hungarian strings in alphabetical order:</u><br />
<br />
String[] words = {"Bruce","Géza","Ákos"};<br />
<br />
<i> Collator c = Collator.getInstance(new Locale("hu")); <br /> Arrays.sort(words, c);</i><br />
<br />
for(int m=0; m<words.length; m++)<br />
System.out.print(words[m]+", ");Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-998098810783906347.post-32038536015881422712012-05-29T02:48:00.001-07:002012-05-29T02:48:05.929-07:00Java - Enumerated types<i>To enumerate some constant values, and/or associate to them methods or values, we can use <b style="color: yellow;"><u style="background-color: orange;">enum</u></b><span style="background-color: orange; color: yellow;"> </span>in java.</i> Enum types in Java are considered like classes, they can have constructors too, can implement interfaces, but can have no descendants. Let see, how we work with enum in java, through an example that classifies programming languages.<br />
Create your own test class, and then test the following code:<br />
<br />
private enum prog_language {<br />
//enumerated constants<br /> java(true), c(true), basic(true), php(true), delphi(true), csharp(false), cplus(false);<br /> <br />
//fields to associate with the enum types<br /> private int position;<br /> private boolean usedbyme;<br /> <br /> //constructor<br /> prog_language(boolean bUsedByMe) {<br /> usedbyme = bUsedByMe;<br /> } <br /> //getters and setters of the fields<br /> public int getPosition() {<br /> return position;<br /> }<br /> public void setPosition(int position) {<br /> this.position = position;<br /> } <br /> public boolean isUsedbyme() {<br /> return usedbyme;<br /> } <br /> };<br /><br />....................................... <br />
int i = 0;<br /> for (prog_language p : prog_language.values()) {<br /> i++;<br /> p.setPosition(i);<br /> } <br /> System.out.print(prog_language.valueOf("java").name()); <br /> System.out.println(" - at position: "+prog_language.valueOf("java").getPosition());<br /> System.out.println("I am using this language: "+prog_language.valueOf("java").isUsedbyme());<br /><br />
<br />
<br />
Enum types can also participate in switch-case statements too.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-998098810783906347.post-70332803228620396592012-05-24T03:44:00.001-07:002012-05-28T03:32:11.350-07:00Java - Data Structures<div style="text-align: center;">
<u><b>Data Structure </b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;">–</span></u><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><u><b> Advantages </b><span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;">–</span></u><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><u><b> Disadvantages</b></u></div>
<u><br /></u><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]-->
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;">
<tbody>
<tr>
<td style="border: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Array</span></div>
</td>
<td style="border-left: none; border: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quick
insertion</span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">(very
fast access if index known.)</span></div>
</td>
<td style="border-left: none; border: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
search, </span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
deletion, </span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">fixed
size.</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Ordered
Array</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quicker
search</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
insertion,<br />
Slow deletion, </span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">fixed
size. </span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Stack</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Provides
last-in, first-out access</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
access to other items</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Queue</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Provides
first-in, first-out access</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
access to other items</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Linked
list</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quick
insertion, quick deletion</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
search</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div class="MsoNormal">
<span lang="EN-US"><span style="mso-spacerun: yes;">
</span>ArrayList
</span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">(is
same as a Vector. Vectors are<br />
synchronized, can be thread safe, but<br />
slower)</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Binary Search,
Sort</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
insertion, deletion</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Binary
tree</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quick
insertion, deletion (if tree remains balanced), and search.</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Deletion
algorithm is complex</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Red-black
tree</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quick
insertion, deletion (this tree is always balanced), and search.</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Complex</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">2-3-4
tree</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Quick
insertion, deletion (this tree is always balanced, is good for disk
storage progr.), and search.</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Complex</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Hash
table (~arrays)</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Very
fast access if key known. Fast insertion</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
deletion, access slow if key not known, inefficient memory usage.</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Heap
(~LinkedList)</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Fast
insertion, deletion, access to largest item.</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
access to other items</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 4.0cm;" valign="top" width="151">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Graph</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 196.2pt;" valign="top" width="262">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Models
real-world situations.</span></div>
</td>
<td style="border-bottom: solid windowtext .5pt; border-left: none; border-right: solid windowtext .5pt; border-top: none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 154.8pt;" valign="top" width="206">
<div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US">Slow
and complex.</span></div>
</td>
</tr>
</tbody></table>
<span lang="EN-US" style="font-family: "Times New Roman"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;"><span style="mso-tab-count: 2;"> </span></span>Unknownnoreply@blogger.com0