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
Database Grid
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.connectDatabase(
"oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@myServer:1526:myInstance",
"username" ,
"password");
dBTable1.setSelectSql("select * from employee");
dBTable1.refresh();
It is even made more simple, if you have a jdbc resultset. With one statement, you can load the resultset into quicktable.
dBTable1.refresh(yourResultSet);
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
AddModifyDelete tutorial
for more information.
DBGrid Features:
-
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
quick tour
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.
EJBs/DataObjects/Hibernate Grid
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 =
(CustomerHome)initialContext.lookup("Customer");
//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
dBTable1.refreshDataObject(c,null);
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(
"http://quicktable.org/customer.SDF");
Properties prop = new Properties();
prop.put("delimiter",",");
prop.put("firstRowHasColumnNames","true");
dBTable1.refresh(customerUrl,prop);
Array/Vector/Collection Grid
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
dBTable1.refresh(dataVectorOfVectors);
or
dBTable1.refresh(your2DimensionalArray);
Check out QuickTable applet demo
Before applying Skin
After applying skin
Common Features:
-
It can work with major IDEs like
JBuilder, Eclipse, Visual Age and Symantic Cafe
-
It supports both Swing 1.0 &
Swing 1.1
-
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
click
- 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.
|