 |
Home | Changes | Index | Search | Go
SwingLabs: Frequently Asked Questions for Developers
This FAQ is intended for developers that already have a basic understanding of what SwingLabs is.
General Questions
What JRE version is required?
Depends on the project in question; you should consult individual projects.
For SwingX, Databinding, and SwingLabsJdnc, the short answer is: JDK 1.5 (Tiger). Long answer: After a long discussion people decided to go with 1.5 so the new "language features" can be used. There is a branch with the old code (rather outdated) and there was at least one report of a person that was able to compile the code with a back porting tool for JDK 1.4. The guideline is to use language features but to avoid new 1.5 API's so porting back would be possible.
What are all these projects under SwingLabs--SwingX, Databinding, JDIC, Wizard, etc., and what is the relationship between them?
Check out the SwingLabs home page.
SwingLabs is a parent (umbrella) project that with subprojects that establish an advanced framework for Java desktop development. Thus someone can make use of SwingX without swallowing the whole pill that is SwingLabs:
What is the relationship between SwingLabs and the Java JDK platform & libraries?
SwingX contains components that might find their way to the core of J2SE? at some future release. SwingLabsJdnc itself might become a part of J2SE? in the future but this probably won't be in the foreseeable future since its pace of development is faster than the 18 month JRE/DK release cycle. Integration of components from the other projects is possible as well--one reason why all contribtors must agree to the Joint Copyright Assignment before submitting code.
Are these libraries ready for production use?
It depends on the project in question; you really need to look at them separately. SwingWorker, for example, used to be released as a sort of unofficial sample class by Sun, and now has its own open-source development process; it is very stable and is in common use by Swing developers. Other projects have their own release and development cycles; consult the projects and mailing lists independently to learn more.
There is already a Project "X" that offers this same functionality you're building into a SwingLabs subproject. Are you trying to re-invent the wheel? Why not partner with these other folks? "Not-invented-here" syndrome?
There are also projects AAA through ZZZ... There are many such projects, some of the authors of similar frameworks are working with SwingLabs to incorporate their ideas standardize everything and unify frameworks. SwingLabs is building on existing experience and trying to take the best ideas from all frameworks.
Contribution
How can I contribute new ideas and code?
See our Wiki page about how you can help.
I have existing code that I own, can I contribute it?
Again, see how you can help where we cover this more fully.
Short version: through the process described above and assuming you have FULL RIGHTS for the code you are contributing (i.e. you did not download it from the Internet etc...). The reason for this process is to maintain a clean implementation with full rights for Sun so that features can be incorporated into the VM in the future.
I have found some unattributed or unmaintained code on the web, can I contribute it?
Short answer: No. You can join the mailing list and point people at it, maybe someone has a clue, but the rule is that you cannot commit something that is not 100% yours.
Again, see how you can help where we cover this more fully.
Getting Started
Is there any basic introduction for the SwingLabs projects?
There are no complete documents. There is a demo sub-project called
SwingLabs Demos which shows how different components can be used.
How do I get started? Are there samples anywhere?
Read this FAQ. Join the mailing lists of the project(s) you're interested in. And take a look at the swing labs demo project.
Note, for historical reasons, the discussion on SwingLabsJdnc, SwingLabs Demos, Databinding, and SwingX take place on the SwingLabsJdnc mailing list.
|