tags:

views:

513

answers:

8

Can I build attractive GUI in Java? If yes, how should I do it? Or should I use some other language or tool to do it?

+1  A: 

If you are looking for a native look and feel in every platform you could use SWT. It's the one used in Eclipse.

Manolo Santos
+4  A: 

Attractive is quite subjective, but you can take a look to the Substance LaF (https://substance.dev.java.net/) and the Pushing Pixels blog (http://www.pushing-pixels.org)

Carlos Tasada
+4  A: 

You can use SWT, which as the other answer mentions is nice for a more native look. You can use JavaFx if you want to add a lot of visual candy, or you can use flash or other technologies and just perform remote operations.

Good luck.

cjstehno
+2  A: 

You can just modify Swing look'n'feel as per this Sun tutorial.

BalusC
+8  A: 

Filthy Rich Clients is a good book for learning how to use Java to build attractive GUIs that go beyond the usual Swing look.

Mark
I've always thought this book is really overrated :) Better to try a substance look and feel.
willcodejavaforfood
And I've never thought that the substance laf is particularly attractive :-) Oh well, it would be a boring world if we were all the same!!
Mark
A: 

You can build very attractive GUI using Java. You can use SWT: The Standard Widget Toolkit. You have also mentioned if you can use other programming language then you can go for VIsual Basic.It will be easier than compare to Java. As we have to just drag and drop over there.

giri
Netbeans has a nice GUI tool for building GUIs. Mostly, you need to understand how to group Panels and Layouts to build a GUI in Java. making it *attractive* is a skill.
Chris Nava
Netbeans adds a lot of unnecessary and hard to ready code. It's better to learn by manually what is actually happening behind the scenes.
Catfish
A: 

There are lots of answers on here about using SWT for an attractive native look and feel. However, I would suggest that Swing, set to use the native look and feel, is pixel perfect now, at least on Windows, using java 6. There is no longer a reason to use SWT. I work on a very large Swing project and you would be hard pressed to tell it is not a native windows app.

Edit: Here are a couple of links to some Sun blogs posts that touch on the subject -

http://weblogs.java.net/blog/bino_george/archive/2004/11/hifi_swing_or_i_1.html

http://weblogs.java.net/blog/chet/archive/2006/10/java_on_vista_y.html

Nemi
A: 

Java is just a language. You cannot build a GUI in Java. Period.

The JDK libraries, however, can build guis through various means. You can use AWT, Swing, SWT, JavaFX or GWT libraries to build GUIs--or you can build your own library if you really want.

You can also just create an AWT frame and draw anything you want in it. (I worked on an waveform analyzer (o-scope looking thing) with a GUI written entirely in AWT.

Now, most of those libraries are fairly platform independent, if you want to restrict yourself to a single platform, you can do anything that can be done in C or any other language.

Therefore your question doesn't make too much sense. Are you saying that you want to put in minimum effort and get a good interface? Swing will be less effort than just about any other toolkit out there and can be skinned in more ways than most.

Or are you saying that you want to specify the exact GUI? In that case, don't use swing but there are a bunch of alternatives that should do just what you want.

Can you be more specific (Do you really want help?), or were you just trying to bash Java?

Bill K