jwx! - wxWidgets for Java


1.  Introduction

jwx! is a Java binding to the wxWidgets GUI framework. The development of jwx! is still under alpha stage. Current development version provides quite large number of Core GUI classes of the wxWidgets-2.6.3 and several sample apps to demonstrate the capabilities of jwx! and wxWidgets.

2.  wxWidgets - An Universal solution for GUI development...

Why yet another GUI toolkit for Java?

The reason is not, as you might think, providing native GUI library for Java, but my thought of an Universal solution for developing GUI using any programming language.

Why one should think about an Universal GUI development framework?

Suppose you are developing software using different programming languages individually or even under team environment, you might face a problem of creating GUI for your application. Sometimes you are required to learn a new GUI toolkit specific to the language. For example, if you are developing a graphics application using Java, you might use JFC/Swing. In another project you are writing a text processing application using Python, you might use `Tkinter`. For C++ it might be GTK, Qt, Motif, MFC...

But think of a GUI framework that you can use for developing GUI using any programing language. Yes, learn a single GUI framework and then use this knowledge for developing GUI using your favourite programming language!.

wxWidgets is one of the most popular cross-platform GUI framework for C++. Having bindings to the languages like Python, Perl, Ruby, .NET etc., makes wxWidgets framework, a very good solution for developing GUI using language of your choice.

wxWidgets itself for C++, wxPython for Python, wxPerl for Perl, wx.NET for .NET languages, ...

jwx! adds Java to the list of languages you can use developing GUI using wxWidgets framework, the Universal way...

3.  Platforms Supported by jwx!

jwx! supports these platforms:
  • GTK (Unices)
  • MSW (Including 98/Me)
  • MAC (Mac OS X)
wxWidgets ports to these platforms are named wxGTK, wxMAC and wxMSW respectively, and provides several platform specific features. jwx! will never expose such unportable features to comply with `Write once, run anywhere` promise of Java.

4.  The Goals

  1. Only GUI part of wxWidgets framework
  2. Only platform independent API
  3. Easy to create new modules
  4. True Object Oriented design
  5. Follow the Universal concept (Make jwx! similar to wxWidgets/wxPython)
  6. Easy to learn and use, Utilize prior knowledge of wxWidgets/wxPython

5.  Installation

Please see the BUILD instructions.

6.  Support jwx!

I need your help, especially for writing documentation (I am not native English speaker, you realize that after reading this README). You can also contribute providing new codes, bug reports, patches etc. Post your ideas and codes at jwx! mailing lists or forums.

You can also support this project providing financial help. Such help will encourage me to give more time on developing/testing/beautifying jwx!. Please follow support this project link on the jwx! project website. Organizations interested to sponsor jwx! should contact me for details.

7.  Credits

The Open Community

The People

   ...

The Sponsors

   ...



Thank you for your interest in jwx!.

- Amit G Mendapara <mr_amit@users.sourceforge.net>