What is JGridTM?

Since the introduction of Java Swing components, it became easier for Java developers to create UI applications. Swing components provide features and functionalities that were available for many years to developers on other platforms. However, Swing uses a different architectures than many other component-based platforms. Swing is based on MVC architecture, something that many programmers are not used to. Most programmers are familiar with flat architectures that encapsulate everything into one component. For instance, in Microsoft ActiveX technology, in just one simple component you have presentation, control, data, and even event handling. Both these architectures have their own pros and cons. However, for programmers familiar with one architecture moving to the other one is not as simple as it looks. Most of the time implementing a feature in the other architecture seems to be impossible or takes so much time. Unfortunately, many available Java IDEs also do not provide what has been available on other platforms. For example, in order to take advantage of full power of Swing components, one should be able to create UI Model, Special Property Page Editors, etc. Simply exposing a Java Bean component in an IDE does not mean that it will be easy to use them. Even the simplest thing, such as creating border for a UI component, layout management, etc. needs more work on IDE provider side. Something that most of them simply leave to users to deal with.

This lack of a comprehensive and easy to use Java IDEs is one of the main reasons Java has been mainly used in server side, or non-UI environment.

JGrid is an attempt to hide the complexity of Swing components and provide a flexible and yet powerful solution for developers who need grid component in their presentation layer. JGrid exposes a very simple interface, while behind the scene takes advantage of MVC architecture. It provides all the features that you expect to have in a grid component, plus some other features that you cannot find anywhere else. Here are some features of JGrid, to just name a few:

  • Supports grid definition in XML format.
  • Supports data input in XML format.
  • Supports exporting the definition and content of the grid in XML format.
  • Supports preview, save, and print in HTML format.
  • Numerous built-in cell editors and renderers.
  • Supports user-defined cell editor and renderer.
  • Built-in support for sorting, and filtering data.
  • Support fixed columns.
  • Built-in support for converting Java classes to XML stream and vice versa.
  • Built-in support for numbering rows
  • Supports copy, paste, insert, append, and delete operations.
  • Font, and color support on row, and column level.
  • Color support on cell level.
  • Event support for different operations on row, and cell level.