File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Is JavaBean for GUI? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Is JavaBean for GUI?" Watch "Is JavaBean for GUI?" New topic

Is JavaBean for GUI?

Sunny Kumar
Ranch Hand

Joined: Oct 27, 2005
Posts: 57
I am familiar with J2SE programming.I have been reading the JavaBeans Tutorial at Sun. As I am going through it I am not able to understand one thing.Exactly what are these JavaBeans used for?
On resources which I have gone through give examples with a GUI.
If its true that its used for building GUI, then why do we need JavaBeans when a powerful libraries such as Swing or others are available.What advantage does they have? To be honest, I have understood nothing from
the tutorial till now.
Also, the tutorial mentions words like Component Model and Component architecture which I am only vaguely familiar with.Can you kindly directly me to some resources that explain these terms more clearly with the help
of some examples.
Please correct and guide me if wrong.
Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199


Welcome to JavaRanch!

A bit of business: you may not have read our naming policy on the way in. It requires that you use a full, real (sounding) first and last name for your display name. Joke names and "handles" aren't acceptable here. Many people won't answer your questions until you comply with the naming policy. You can change your display name
Thanks for your cooperation.
[ October 27, 2005: Message edited by: Ernest Friedman-Hill ]

[Jess in Action][AskingGoodQuestions]
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15081

Java Beans were originally invented as pluggable user-interface components. So besides the standard buttons, list boxes, etc. somebody could for example create a chart control as a Java Bean, and others could use this in a visual GUI building environment to point and click a GUI application together.

However, that way of using Java Beans never became really popular.

A Java Bean is just another Java class with get...() and set...() methods to access its member variables. That's basically all there is to it, and that's how most people are using Java Beans today.

EJB (Enterprise Java Beans) is something completely different - it's a bit confusing that those also have "Beans" in the name.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Sunny Kumar
Ranch Hand

Joined: Oct 27, 2005
Posts: 57
Oops sorry Ernest.
Profile updated.
Paul Santa Maria
Ranch Hand

Joined: Feb 24, 2004
Posts: 236
Java beans == "software components"

Java bean "components" are similar in purpose to Microsoft's ActiveX/COM components. Pluggable components for user interface "controls" are certainly one application of Java beans, but they're not the only - and probably aren't even the most important - application. Any "unit of functionality" you can wrap in "a software IC" is a good candidate for a "Java Bean".

And no, "Java beans" have nothing whatsoever to do with "Enterprise Java Beans" (sigh!). Enterprise Java Beans (Session beans, Entity beans, etc) are architectural components of a J2EE application. Java beans are implementation components for ordinary J2SE applications. As such, Java beans can be used in any of J2ME, J2SE and/or J2EE. Enterprise Beans, on the other hand, are limited exclusively to J2EE.

Confusing, but I hope that helps a little!

Your .. PSM

Paul M. Santa Maria, SCJP
Sunny Kumar
Ranch Hand

Joined: Oct 27, 2005
Posts: 57
I have not confused EJB with JavaBeans.
Reading the replies then is it true that unless I am working as a vendor for delivering pluggable components I don't need to care about JavaBeans?
Paul Santa Maria
Ranch Hand

Joined: Feb 24, 2004
Posts: 236
Hi, again -

1. Sorry: I didn't mean to imply that you confused Java Beans and Enterprise
Java Beans. I just wanted to agree with - and to emphasize - Jesper
de Jong's very good, very important point that "JB != EJB". No offense!

2. I believe Java Beans are for everybody.

Not only should you know about Java Beans (to use them effectively as
the need arises), I would go further and suggest that you should use
Java beans yourself, wherever and whenever possible.

One of your primary goals in OO programming is to "encapsulate" your
"functionality", to "hide" your "implementation" as thoroughly as

I would argue that both COM/ActiveX and Java Beans are good and useful
technologies for doing this. I would further argue that the discipline
in coding your Java "class" as a viable "Java Bean" will generally
yield cleaner, more robust implementations.

I would definitely encourage you to include "Java Beans" in your Java programming toolbox!
[ October 27, 2005: Message edited by: Paul Santa Maria ]
Layne Lund
Ranch Hand

Joined: Dec 06, 2001
Posts: 3061
Most, if not all, of the classes in the Swing and AWT APIs are JavaBeans. So this is one use for the JavaBean standard. However, you can use JavaBeans wherever it might be appropriate in your programs, even if it doesn't apply to GUI programming.


Java API Documentation
The Java Tutorial
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
Beans are also used in the context of web programming. If you delve into JSP, JSP and Struts, you'll find them everywhere, and it becomes important that you understand how their values get assigned through setters/getters.
Paul Santa Maria
Ranch Hand

Joined: Feb 24, 2004
Posts: 236
So, Sunny - I hope we've convinced you that Java Beans are worth learning about!
I agree. Here's the link:
subject: Is JavaBean for GUI?
It's not a secret anymore!