0

I want to start developing desktop java applications and I would like to know what the java community uses.

I started with Swing but I found it very rudimentary.

I'm used to work with .net c# WPF with Visual Studio 2010 and I was looking for something with the same quality (or close) with java ( Swing + Window builder is not an option )

I would appreciate your inputs, even if you disagree with my Swing opinion

thanks all

RollRoll
  • 8,133
  • 20
  • 76
  • 135
  • What features specifically are you looking for? I found Swing and AWT to feel more or less like every other toolkit I'd ever seen the last time I used them.. – sarnold Apr 17 '12 at 00:12
  • I'm looking for a better looking and feel development, desktop WPF with VS 2010 is just amazing I was hopping java had something close. I'm new with java as you can guess right. Window Builder for Swing has a annoying performance issue, it takes a couple of seconds to get the control dragged to the form, organizing controls in the form is hard, if you have a complex window it is just a nightmare – RollRoll Apr 17 '12 at 00:16
  • Ahhh, I never used those GUI-designer-programs in my Java time, it was always easy enough to declare in code the layouts I wanted. The programs designed with those GUI-designers always felt very stilted and awkward. So, what you're _really_ looking for is a reasonable GUI-designer? – sarnold Apr 17 '12 at 00:17
  • I don't know AWT... I'll check.. – RollRoll Apr 17 '12 at 00:17
  • 1
    I thought Swing improved upon AWT extensively, I wouldn't bother with AWT myself unless an old or ancient platform were my target... – sarnold Apr 17 '12 at 00:18
  • Can you explain more why you need to use java? Is it because that is what you want to program in, or is it that you need it to be java byte code? Is cross-platform required? – Jeff Halverson Apr 17 '12 at 00:23
  • I need it to run on windows, MacOS, ubuntu. Also I really want dive in java stuff and leave .net behind – RollRoll Apr 17 '12 at 00:25
  • Okay, then the mono/ikvm choice isn't going to work for you since that is .net and you want to ditch .net... – Jeff Halverson Apr 17 '12 at 00:28
  • I'm really looking for java solutions, thanks – RollRoll Apr 17 '12 at 00:29
  • I added in a link to http://java-gnome.sourceforge.net/ on my answer below. Never used it myself, but it appears you can use Gtk with pure java... – Jeff Halverson Apr 17 '12 at 00:32

5 Answers5

3

The other option you want want to look into is SWT (The toolkit Eclipse uses). It renders using mostly native components so it feels more robust like a real desktop application.

mprivat
  • 21,582
  • 4
  • 54
  • 64
  • does it provide a GUI experience? Do you use it? Do you think it is better that Swing and why? thanks – RollRoll Apr 17 '12 at 00:28
  • 1
    In the Java world, many attempts have been made to mimic Microsoft's visual studio and other UI builders like Xcode. In my opinion, they all failed. SWT is no different, you are always better off laying out the components by hand, using layout managers. In my opinion, SWT is better than Swing if you are looking for a sturdy native feel for your app. Swing looks a bit more clunky and unnatural, but it's a lot easier to use a much more documented. – mprivat Apr 17 '12 at 00:54
3

I'm looking for a better looking and feel development..

Swing offers 4 PLAFs as standard. There are at least a dozen more 3rd party PLAFs, some with dozens of variants. Of that plethora of possibilities, end-users generally prefer the 'native' PLAF - which looks and feels mostly like 'every other native app.' on their machine.

You can see a small app. that changes PLAF. on the Nested Layout Example. Here is the Mac. native PLAF.


..why do you think it is not easy?

This was said in relation to a general comment that it is harder to build a GUI in Swing than (for example) Visual Studio.

The reason for that is that Swing is intended to work on multiple platforms, screen-resolutions/sizes, PLAFs (and other factors). As such, 'dragging and dropping' components into their final position is impractical, since that might change according to the factors listed above. Instead Java relies on the concept of layout managers, which calculate the size and position of components as they appear at run-time.

The layout managers use 'logical groupings' of components to achieve the desired general shape expected of a GUI. The image above is an example of how to combine layouts to achieve different effects in different parts of the GUI.

Although I don't use GUI builders for Java I do feel that they can increase productivity, it is just a matter of:

  1. Already knowing what Java Layouts are available, and how to use them.
  2. Using the standard layouts in combination in the GUI, to achieve the desired effect.
Community
  • 1
  • 1
Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
1

If you don't mind an external dependency, you could also take a look at SWT. It's the framework that eclipse is built with, though it's not the easiest thing in the world to use.

It does provide a GUI-builder called SWT designer (if I remember correctly). It's not as good as what you're used to in Visual Studio though. That's a pretty high bar for quality. In the brief experience I have with it, there was a fair amount of boiler plate code, and the API isn't quite as intuitive as I'd like personally.

However, it is fairly widely used. Eclipse is built on it, and by extension, so are many professional tools built from that same base (Such as IBM's Rational tools, and Adobe's ColdFusion Builder). That should give you an idea of the power of the tool, if nothing else.

Ian McLaird
  • 5,507
  • 2
  • 22
  • 31
  • does it provice a GUI-tool? is it largely used on the java community? why do you think it is not easy? – RollRoll Apr 17 '12 at 00:20
0

How about Java under Mono,using IVKM and Gtk? You would be able to program in java, but your application would actually be .NET code... Not sure if that works for you.

If you want to move away from .NET alltogether, then perhaps you could use the java Gtk bindings: http://java-gnome.sourceforge.net/

Jeff Halverson
  • 253
  • 1
  • 8
0

Check out JFormDesigner. JFormDesigner with Eclipse is a very powerful tool set. Also look for a good LaF. See The Alloy Look and Feel and JGoodies. You may find Look and feel in java useful.

Community
  • 1
  • 1
tenorsax
  • 21,123
  • 9
  • 60
  • 107