QuickTable is a complete java JTable alternative Javabean/Grid control component. It has all the features which are missing in JTable and it is built on top of JTable, so you don't have to learn any new API. QuickTable is bundled with lots of features including Print Preview, Printing, Find & Replace, Sorting, Skin, copy/paste to Excel, Image cells, Calendar cell editor,Customizer etc.
Quicktable is now opensource. Maven build setup is still in progress. You can get source code here http://java.net/projects/quicktable QuickTable can be used as
QuickTable is a reliable , high performance database grid control javabean. Quicktable is always the top pick of the Java gurus because in a day, ten swing screens which uses database grids can be coded. It is voted as the easiest RAD DBgrid available.
QuickTable can be created in just 4 simple java statements! No complex API.
DBTable dBTable1 = new DBTable();
dBTable1.setSelectSql("select * from employee");
It is even made more simple, if you have a jdbc resultset. With one statement, you can load the resultset into quicktable.
Usually when you join more than one table in the query, you don't have any control over, which of the joined tables the grid will update when the user updates a cell. QuickTable is the only DBGrid which can make insert/updates/deletes based on your need. Have a look at
for more information.
Supports JDBC 1.0/2.0.
You can connect to any database to
which you have a JDBC driver.
You don't need to buy a separate
JDBC driver for the table, you can use the one which you use for your project.
Before Update, After Update, Before Insert, After Insert, Before Delete, After Delete events are available.
Copy/Paste to clipboard.
Date format can be set for the Date fields.
Interactive customizer can guide
you for the integration. Take a
with the customizer
Insert, Delete, Modify supported
Based on column datatype, cell
editors are assigned, at the same time users can also set the celleditors
Navigation bars are provided, to
navigate between rows
Data for the table is fetched only
when necessary, which minimizes the memory usage
column can be bound to another
query, which makes the cell editor being a combo box, which has the query results.
Database error events are generated, which can be used to display nice messages, although quicktable itself can show default messages.
QuickTable is the only javabean which can load collection/vector/enumeration of java objects into JTable. For each data field within the object, QuickTable will create a column. Based on the data type of the column it will automatically assign the cell editor/renderer.This will be very useful in the three tier architecture, where you don't have access to database. This will be very useful while developing EJB/hibernate applications , where you want to display the findXXX results in a JTable.
CustomerHome home =
//call the remote find method to get all
//the customers by last name
Collection c = home.findCustomerByLastName("smith");
//load the collection of objects into quicktable
While loading data objects, you will have the option to specify which fields in the object you want to display in the grid.
Delimited/Fixed length data file Grid
QuickTable can load a comma delimted file (csv), special charater delimted file, fixed lengths column data files, a delimited file from a File/URL/stream.
URL customerUrl = new java.net.URL(
Properties prop = new Properties();
A data array/vector/Collection can be very easily loaded into QuickTable. Unlike JTable you don't need to create tablemodel/columnmodel to load a simple vector or array
Check out QuickTable applet demo
Before applying Skin
After applying skin
It can work with major IDEs like
JBuilder, Eclipse, Visual Age and Symantic Cafe
It supports both Swing 1.0 &
JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x supported.
Printing & Print preview supported. Elegant reports can be created.
Skins, to change the look & feel.
Multi-line Column headers.
Calendar is used to edit the date fields.
Masking supported, using the Document class for TextField.
- Printing made simple. Just call print() to print the whole table to your printer or use the advanced print option.
- Find and Replace by just calling doFind() or doFindAndReplace() or use advanced find, replace.
- Events generated when a cell is edited, which can be used for input validation.
Sorting based on column header
- Copy/paste from/to excel.
- Color, font , alignment of each cell can be changed.
- Easy way to set cell renderer/editor for Image , check box, radio button, combo box. No need to write a cellRenderer/Editor class.