Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Is Java good for writing simple, yet sleek GUI apps?

Reply
Thread Tools

Is Java good for writing simple, yet sleek GUI apps?

 
 
Love Rhino
Guest
Posts: n/a
 
      09-07-2004
Hello there.

I have 10+ years doing C/C++/Unix development writing
databases, compilers, and network software. I have
a few years of Java experience.

I need to write a GUI application for the fairly recent
versions of Windows (NT, XP, 2000...). Since I'm all about
interoperability, I'm thinking about using Java to do it.
I don't have *any* GUI experience, nor Windows experience.

My worry is that Java Swing isn't ideal for me. Many
developers I've talked to, and website reviews I've read,
say it's slow and overly complex for very simple things.

I'm wondering if that's just old news, and the latest
version of Swing addresses those problems? If not, can
you recommend other alternatives to Swing, that are
reasonably fast and portable?

My project is straight forward. Provide some buttons
for users to query a database, and display the data.
Some of the queries may require the user for specific
dates, amounts, etc. Provide some forms for users to
add data to a database. Later versions, I would like
the data to be displayed on a spreadsheet like table
and to be able to left/right click the cell for futher
drill downs, but that's later versions. My boss wants
a proof of concept, right now that doesn't look
ugly.

I'm thinking about going the VB route, but my Unix
intuition says to stay away. The better solution is to
give the project to a GUI guy.

Anyways, any suggestions would be great. Thanks for
your time!
 
Reply With Quote
 
 
 
 
steve
Guest
Posts: n/a
 
      09-07-2004
On Wed, 8 Sep 2004 04:31:38 +0800, Love Rhino wrote
(in article <(E-Mail Removed)>) :

> Hello there.
>
> I have 10+ years doing C/C++/Unix development writing
> databases, compilers, and network software. I have
> a few years of Java experience.
>
> I need to write a GUI application for the fairly recent
> versions of Windows (NT, XP, 2000...). Since I'm all about
> interoperability, I'm thinking about using Java to do it.
> I don't have *any* GUI experience, nor Windows experience.
>
> My worry is that Java Swing isn't ideal for me. Many
> developers I've talked to, and website reviews I've read,
> say it's slow and overly complex for very simple things.
>
> I'm wondering if that's just old news, and the latest
> version of Swing addresses those problems? If not, can
> you recommend other alternatives to Swing, that are
> reasonably fast and portable?
>
> My project is straight forward. Provide some buttons
> for users to query a database, and display the data.
> Some of the queries may require the user for specific
> dates, amounts, etc. Provide some forms for users to
> add data to a database. Later versions, I would like
> the data to be displayed on a spreadsheet like table
> and to be able to left/right click the cell for futher
> drill downs, but that's later versions. My boss wants
> a proof of concept, right now that doesn't look
> ugly.
>
> I'm thinking about going the VB route, but my Unix
> intuition says to stay away. The better solution is to
> give the project to a GUI guy.
>
> Anyways, any suggestions would be great. Thanks for
> your time!


I would say you are talking to idiots, who are so far out of date on their
technical skill , it is sad.

the trick with java is all in the threads, most bad developers try to do
everything in 1 thread, ( usually the graphics thread), so they end up with
shitty ,slow programs. which they then blame on the java.
The idea is to launch multiple threads , so that operations do not block each
other & bog your application down.



check out the following: (iReport-Designer)
http://sourceforge.net/project/showf...group_id=64348


this will give you an idea as to speed, cross platform issues etc, of using
java. (I.E with a good programmer there are virtually none)

it will also allow you to "Build" graphical reports tied to most major
databases.
it had a drag & drop interface, for fields/text etc.
( you can compile 90% of the report, then the other 10% can be queried from
the user), or you can write a java plugin, that can query the user during the
running of the report.


this ties into Jasperreports (java)
http://sourceforge.net/projects/jasperreports

which can produce and output reports in a number of different formats.

PDF/HTML/EXCEL/XML/ Whatever



or go to
www.oracle.com
find "JDeveloper", this is a complete IDE written in java.

I would guess , completing your task could be done in a morning , in
JDeveloper.

if you are using ORACLE database, I can get you started, with any help you
need, on any of the above. if you are using another database i cannot help
too much.



steve




 
Reply With Quote
 
 
 
 
kjc
Guest
Posts: n/a
 
      09-08-2004
I can't speak for everyone, but, I don't find Swing complex at all.
If you've been using C++ as long as you say. It should be a cake walk
for you. Swing is VERY OO centric. It is VERY flexible for building
complex GUI's. However issues can and WILL arise when/if doing I/O of
one form or another. You will have to make use of the java
multithreading capabilities in order to keep your users happy whilst the
I/O takes place. One of the down sides IMHO is the performance. Since
Swing does not use the components found in the native windowing system,
there will always be a performance hit. For simple apps. No problem,
a few nested panels, some buttons, some event listeners. Piece of cake.

Love Rhino wrote:
> Hello there.
>
> I have 10+ years doing C/C++/Unix development writing
> databases, compilers, and network software. I have
> a few years of Java experience.
>
> I need to write a GUI application for the fairly recent
> versions of Windows (NT, XP, 2000...). Since I'm all about
> interoperability, I'm thinking about using Java to do it.
> I don't have *any* GUI experience, nor Windows experience.
>
> My worry is that Java Swing isn't ideal for me. Many
> developers I've talked to, and website reviews I've read,
> say it's slow and overly complex for very simple things.
>
> I'm wondering if that's just old news, and the latest
> version of Swing addresses those problems? If not, can
> you recommend other alternatives to Swing, that are
> reasonably fast and portable?
>
> My project is straight forward. Provide some buttons
> for users to query a database, and display the data.
> Some of the queries may require the user for specific
> dates, amounts, etc. Provide some forms for users to
> add data to a database. Later versions, I would like
> the data to be displayed on a spreadsheet like table
> and to be able to left/right click the cell for futher
> drill downs, but that's later versions. My boss wants
> a proof of concept, right now that doesn't look
> ugly.
>
> I'm thinking about going the VB route, but my Unix
> intuition says to stay away. The better solution is to
> give the project to a GUI guy.
>
> Anyways, any suggestions would be great. Thanks for
> your time!


 
Reply With Quote
 
Joe
Guest
Posts: n/a
 
      09-08-2004
In article <(E-Mail Removed) >,
http://www.velocityreviews.com/forums/(E-Mail Removed) says...
> Hello there.
>
> I have 10+ years doing C/C++/Unix development writing
> databases, compilers, and network software. I have
> a few years of Java experience.
>
> I need to write a GUI application for the fairly recent
> versions of Windows (NT, XP, 2000...). Since I'm all about
> interoperability, I'm thinking about using Java to do it.
> I don't have *any* GUI experience, nor Windows experience.
>
> My worry is that Java Swing isn't ideal for me. Many
> developers I've talked to, and website reviews I've read,
> say it's slow and overly complex for very simple things.
>
> I'm wondering if that's just old news, and the latest
> version of Swing addresses those problems? If not, can
> you recommend other alternatives to Swing, that are
> reasonably fast and portable?
>
> My project is straight forward. Provide some buttons
> for users to query a database, and display the data.
> Some of the queries may require the user for specific
> dates, amounts, etc. Provide some forms for users to
> add data to a database. Later versions, I would like
> the data to be displayed on a spreadsheet like table
> and to be able to left/right click the cell for futher
> drill downs, but that's later versions. My boss wants
> a proof of concept, right now that doesn't look
> ugly.
>
> I'm thinking about going the VB route, but my Unix
> intuition says to stay away. The better solution is to
> give the project to a GUI guy.
>
> Anyways, any suggestions would be great. Thanks for
> your time!
>



I'm all for using the right tool for the right job. The terms you've
heard describing Swing, "slow" and "overly-complex" are too vague to be
of any use. The real question is: What is the right language for this
application? From the requirements you've listed, I would say go with
VB. The only reason not to would be if you think interoperability is
going to be an issue at some future (near-future, actually) date.
 
Reply With Quote
 
Thomas G. Marshall
Guest
Posts: n/a
 
      09-08-2004
steve coughed up:
> On Wed, 8 Sep 2004 04:31:38 +0800, Love Rhino wrote
> (in article <(E-Mail Removed)>) :
>
>> Hello there.
>>
>> I have 10+ years doing C/C++/Unix development writing
>> databases, compilers, and network software. I have
>> a few years of Java experience.
>>
>> I need to write a GUI application for the fairly recent
>> versions of Windows (NT, XP, 2000...). Since I'm all about
>> interoperability, I'm thinking about using Java to do it.
>> I don't have *any* GUI experience, nor Windows experience.
>>
>> My worry is that Java Swing isn't ideal for me. Many
>> developers I've talked to, and website reviews I've read,
>> say it's slow and overly complex for very simple things.
>>
>> I'm wondering if that's just old news, and the latest
>> version of Swing addresses those problems? If not, can
>> you recommend other alternatives to Swing, that are
>> reasonably fast and portable?
>>
>> My project is straight forward. Provide some buttons
>> for users to query a database, and display the data.
>> Some of the queries may require the user for specific
>> dates, amounts, etc. Provide some forms for users to
>> add data to a database. Later versions, I would like
>> the data to be displayed on a spreadsheet like table
>> and to be able to left/right click the cell for futher
>> drill downs, but that's later versions. My boss wants
>> a proof of concept, right now that doesn't look
>> ugly.
>>
>> I'm thinking about going the VB route, but my Unix
>> intuition says to stay away. The better solution is to
>> give the project to a GUI guy.
>>
>> Anyways, any suggestions would be great. Thanks for
>> your time!

>
> I would say you are talking to idiots, who are so far out of date on
> their technical skill , it is sad.
>
> the trick with java is all in the threads, most bad developers try to
> do everything in 1 thread, ( usually the graphics thread), so they
> end up with shitty ,slow programs. which they then blame on the java.
> The idea is to launch multiple threads , so that operations do not
> block each other & bog your application down.


......While being exceedingly careful to remain thread-safe. Swing is not
thread safe. Nor are the collection classes (by default). And even with
totally thread safe classes, you can /still/ get yourself into hot water if
you don't synchronize properly.

Java is mighty powerful. But don't go thinking that you can just launch
multiple threads without worry.


>
>
>
> check out the following: (iReport-Designer)
> http://sourceforge.net/project/showf...group_id=64348
>
>
> this will give you an idea as to speed, cross platform issues etc, of
> using java. (I.E with a good programmer there are virtually none)
>
> it will also allow you to "Build" graphical reports tied to most
> major databases.
> it had a drag & drop interface, for fields/text etc.
> ( you can compile 90% of the report, then the other 10% can be
> queried from the user), or you can write a java plugin, that can
> query the user during the running of the report.
>
>
> this ties into Jasperreports (java)
> http://sourceforge.net/projects/jasperreports
>
> which can produce and output reports in a number of different
> formats.
>
> PDF/HTML/EXCEL/XML/ Whatever
>
>
>
> or go to
> www.oracle.com
> find "JDeveloper", this is a complete IDE written in java.
>
> I would guess , completing your task could be done in a morning , in
> JDeveloper.
>
> if you are using ORACLE database, I can get you started, with any
> help you need, on any of the above. if you are using another database
> i cannot help too much.
>
>
>
> steve


--
Everythinginlifeisrealative.Apingpongballseemssmal luntilsomeoneramsitupyourn
ose.


 
Reply With Quote
 
Mark Wright
Guest
Posts: n/a
 
      09-08-2004
One joyful day (Wed, 08 Sep 2004 06:08:12 GMT to be precise), "Thomas G.
Marshall" <(E-Mail Removed). com> decided
that the Usenet community would benefit from this remarkable comment:

>.....While being exceedingly careful to remain thread-safe. Swing is not
>thread safe.


True, but provided all threaded Swing access is done via
EventQueue.invokeLater() you shouldn't have any problems updating a GUI
from threads.

Mark Wright
- (E-Mail Removed)

================Today's Thought====================
"In places where books are burned, one day,
people will be burned" - Heinrich Heine, Germany -
100 years later, Hitler proved him right
================================================== =
 
Reply With Quote
 
Alex Hunsley
Guest
Posts: n/a
 
      09-08-2004
Mark Wright wrote:

> One joyful day (Wed, 08 Sep 2004 06:08:12 GMT to be precise), "Thomas G.
> Marshall" <(E-Mail Removed). com> decided
> that the Usenet community would benefit from this remarkable comment:
>
>
>>.....While being exceedingly careful to remain thread-safe. Swing is not
>>thread safe.

>
>
> True, but provided all threaded Swing access is done via
> EventQueue.invokeLater() you shouldn't have any problems updating a GUI
> from threads.


And conversely, any time consuming activity should be done *off* the GUI
thread.....


 
Reply With Quote
 
Thomas G. Marshall
Guest
Posts: n/a
 
      09-08-2004
Mark Wright coughed up:
> One joyful day (Wed, 08 Sep 2004 06:08:12 GMT to be precise), "Thomas
> G. Marshall" <(E-Mail Removed). com>
> decided that the Usenet community would benefit from this remarkable
> comment:
>
>> .....While being exceedingly careful to remain thread-safe. Swing
>> is not thread safe.

>
> True, but provided all threaded Swing access is done via
> EventQueue.invokeLater() you shouldn't have any problems updating a
> GUI from threads.



Ah, sure, and very good point for the OP. But that's not what I was
responding do. Steve's post:

Steve:
the trick with java is all in the threads, most bad
developers try to do everything in 1 thread, ( usually
the graphics thread), so they end up with shitty ,slow
programs. which they then blame on the java. The
idea is to launch multiple threads , so that operations
do not block each other & bog your application down.

You, he, and I are correct. But his statement of (Para-Ph) "not doing
everything in the graphics thread" and "launch[ing] multiple threads" needs
a strong thread safety caveat, particularly for the OP who claims to have no
GUI experience.

....[snip]...


--
Forgetthesong,I'dratherhavethefrontallobotomy...


 
Reply With Quote
 
Thomas G. Marshall
Guest
Posts: n/a
 
      09-08-2004
Alex Hunsley coughed up:
> Mark Wright wrote:
>
>> One joyful day (Wed, 08 Sep 2004 06:08:12 GMT to be precise),
>> "Thomas G. Marshall"
>> <(E-Mail Removed). com> decided that
>> the Usenet community would benefit from this remarkable comment:
>>
>>
>>> .....While being exceedingly careful to remain thread-safe. Swing
>>> is not thread safe.

>>
>>
>> True, but provided all threaded Swing access is done via
>> EventQueue.invokeLater() you shouldn't have any problems updating a
>> GUI from threads.

>
> And conversely, any time consuming activity should be done *off* the
> GUI thread.....


You bet! Just for the record, I don't Mark wasn't saying otherwise---he was
responding to my caveat.

--
Forgetthesong,I'dratherhavethefrontallobotomy...


 
Reply With Quote
 
Laurens
Guest
Posts: n/a
 
      09-08-2004
Love Rhino wrote:

> I need to write a GUI application for the fairly recent
> versions of Windows (NT, XP, 2000...). Since I'm all about
> interoperability, I'm thinking about using Java to do it.
> I don't have *any* GUI experience, nor Windows experience.
>
> My worry is that Java Swing isn't ideal for me. Many
> developers I've talked to, and website reviews I've read,
> say it's slow and overly complex for very simple things.


I've worked with Swing for years, but have given up on it eventually.
The performance in Java 1.4+ is acceptable and the JGoodies L&Fs improve
the appearance immensely, but Swing apps still feel out-of-place. I
don't agree with the notion that blocking the event thread is what makes
Swing apps unresponsive. Blocking the event thread (or queue) will
freeze any UI, no matter whether your use C++, Delphi or Java. Swing is
simply more sluggish because it's layered on top of the native UI. It
does not hook into the OS event queue the way a native UI does.

If cross-platform compatibility isn't much of a concern (Windows-only,
as in your case) then SWT is a good choice. It offers a truly native UI,
while at the same time using *much* less memory. (Even if you leave
performance out of the equation, Swing still uses far too much memory.)

SWT's API is less powerful in the sense that it doesn't offer an MVC
framework like Swing, but at the same it is easier and more
straighforward to work with. Putting this in perspective: in the past,
I've used Delphi and VC++ and neither offered an MVC framework like
Swing, yet I was still able to be productive and deliver applications.

I've released a freeware Windows-only app that uses SWT. You can find
screenshots here: http://home.planet.nl/~fridael/sunrise/tour/

This is a Swing app I made earlier: http://jpluck.sourceforge.net/

Both do roughly the same: convert websites and newsfeeds to Plucker
documents for offline reading on Palm OS handhelds.

Anyway, that's my take on it. There have been so many SWT vs. Swing
flamewars before. No need to start another one.


Regards
-Laurens
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Sleek as Hell and Power to Boot: Ultra's X-Connect 2 550W PSU @ OCModShop Silverstrand Front Page News 0 10-04-2006 03:09 PM
Yet another GUI toolkit question... Kevin Walzer Python 26 02-13-2006 08:29 PM
A learning exercise...yet another Sudoku solver with GUI engsolnorm@hotmail.com Python 0 01-19-2006 02:04 AM
a common yet hard-to-resolved problem for Java GUI size! neverknown Java 5 10-26-2005 04:38 AM
Yet another book recommendation, but for someone who can program and yet does not the terminology well Berehem C Programming 4 04-28-2005 05:25 PM



Advertisments