# Java GUI programming for a Java newbie?

**URL:** <https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915>\
**Category:** In My Humble Opinion\
**Created:** [November 5, 2012, 2:20am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915 "2012-11-05T02:20:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bijou\_Drains](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bijou_drains/32/2814_2.png) [@Bijou\_Drains](https://boards.straightdope.com/u/Bijou_Drains)\
**Post date:** [November 5, 2012, 2:20am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/1 "2012-11-05T02:20:37Z")

</div>

I’m looking into writing a small Java program with a GUI. I have a lot of experience in database/statistical programming and I have also used VB. I am new to Java.

What are the best options for me? I know there are some options with Eclipse . I prefer open source/free options but I can also buy a good package.

---

<div class="post-metadata">

**Author:** ![Sefton](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Sefton](https://boards.straightdope.com/u/Sefton)\
**Post date:** [November 5, 2012, 3:21am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/2 "2012-11-05T03:21:16Z")

</div>

Here’s a question I can answer. I’m developing an Eclipse-based GUI using SWT/JFace. SWT/JFace uses resources from the operating system (checkboxes, labels, images, etc.), so the GUI executes quickly and looks like a native application. The problem is that the GUI operates differently on different operating systems.

Most Java GUIs are coded with Swing, which comes with the Java Development Kit. A Swing GUI controls every pixel in the window regardless of the operating system. This adheres to Java’s “write once, run anywhere” credo, but from what I’ve seen, Swing can be very slow when displaying large amounts of data.

So there are the trade-offs between SWT/JFace and Swing. Both are free, but to get SWT/JFace, you need to download Eclipse.

Best of luck!

---

<div class="post-metadata">

**Author:** ![Trinopus](https://avatars.discourse-cdn.com/v4/letter/t/2bfe46/32.png) [@Trinopus](https://boards.straightdope.com/u/Trinopus)\
**Post date:** [November 5, 2012, 4:09am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/3 "2012-11-05T04:09:17Z")

</div>

I’m even more of a beginner: where do I go to get the Java Development Kit? And does it come with a tutorial for the raw beginner?

(I’ve done some programming in Visual Basic Express, so I have the barest comprehension of objects and event codes…but not a lot.)

---

<div class="post-metadata">

**Author:** ![Sefton](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Sefton](https://boards.straightdope.com/u/Sefton)\
**Post date:** [November 5, 2012, 5:25am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/4 "2012-11-05T05:25:48Z")

</div>

You can download the JDK [here](http://www.oracle.com/technetwork/java/javase/downloads/index.html). The different offerings can be confusing, but remember two points. SE means Standard Edition which means regular desktop Java. EE means Enterprise Edition which means Java running on a server and interfacing databases.

If you’re just getting started, the official Java tutorials are [here](http://docs.oracle.com/javase/tutorial/). You may also be interested in Bruce Eckel’s online book [Thinking in Java](http://www.mindview.net/Books/TIJ/).

As far as IDEs go, the main options are [IDEA](http://www.jetbrains.com/idea/), [Netbeans](http://netbeans.org/), and [Eclipse](http://www.eclipse.org/downloads/). I’ve had good experiences with Eclipse so far, but I’ll confess that it’s the only Java IDE I’ve had significant experience with.

---

<div class="post-metadata">

**Author:** ![Trinopus](https://avatars.discourse-cdn.com/v4/letter/t/2bfe46/32.png) [@Trinopus](https://boards.straightdope.com/u/Trinopus)\
**Post date:** [November 5, 2012, 6:36am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/5 "2012-11-05T06:36:15Z")

</div>

Thank you! I’ll be exploring this new universe…um…slowly, and doubtless a bit ineptly. Wish me luck! And luck, too, to **Bijou Drains** (a wonderfully quixotic user name!)

---

<div class="post-metadata">

**Author:** ![Bijou\_Drains](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bijou_drains/32/2814_2.png) [@Bijou\_Drains](https://boards.straightdope.com/u/Bijou_Drains)\
**Post date:** [November 5, 2012, 7:49pm UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/6 "2012-11-05T19:49:57Z")

</div>

I guess Java is not popular among people here.

---

<div class="post-metadata">

**Author:** ![Greg\_Charles](https://avatars.discourse-cdn.com/v4/letter/g/839c29/32.png) [@Greg\_Charles](https://boards.straightdope.com/u/Greg_Charles)\
**Post date:** [November 5, 2012, 10:34pm UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/7 "2012-11-05T22:34:34Z")

</div>

I’ve been a Java developer for a pretty large chunk of my life now, but I haven’t done thick client Java GUI work for a long, long time. Everything I do now is a web app: Java on the server, JQuery and/or JavaScript on the browser. That’s the way I’d recommend going. If you’re set on making simple GUI programs though, Swing should be fine for you. I believe Eclipse has a GUI designer tool, or at least a plugin, which would look something like Visual Studio, but not as slick.

---

<div class="post-metadata">

**Author:** ![Greg\_Charles](https://avatars.discourse-cdn.com/v4/letter/g/839c29/32.png) [@Greg\_Charles](https://boards.straightdope.com/u/Greg_Charles)\
**Post date:** [November 5, 2012, 11:19pm UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/8 "2012-11-05T23:19:38Z")

</div>

> [@Bijou\_Drains](#):
>
> I guess Java is not popular among people here.

That’s probably true. This is a general interest board, so the majority of people aren’t software developers at all. I’m also a member at [javaranch.com](http://javaranch.com), which specializes in helping Java newbies. You might give them a try.

---

<div class="post-metadata">

**Author:** ![Bijou\_Drains](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bijou_drains/32/2814_2.png) [@Bijou\_Drains](https://boards.straightdope.com/u/Bijou_Drains)\
**Post date:** [November 6, 2012, 2:41am UTC](https://boards.straightdope.com/t/java-gui-programming-for-a-java-newbie/639915/9 "2012-11-06T02:41:00Z")

</div>

thanks, javaranch looks like a very good site, I registered there.
