Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is JavaBean for GUI?

 
Sunny Kumar
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Marshal
Pie
Posts: 24211
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

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
here.
Thanks for your cooperation.
[ October 27, 2005: Message edited by: Ernest Friedman-Hill ]
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Pie
Posts: 15369
40
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Sunny Kumar
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oops sorry Ernest.
Profile updated.
 
Paul Santa Maria
Ranch Hand
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Sunny Kumar
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
possible.

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
Posts: 3061
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

Layne
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So, Sunny - I hope we've convinced you that Java Beans are worth learning about!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic