A workaround I've used is JTable. It doesn't have the robust data features of a proper DataTable but it will allow you grab some data and bind it to a control with some structure.
class TableModel extends AbstractTableModel
{
String[] columnNames = {“FirstName”,”LastName”,”Title”};
Object[][] rowData= {{‘John,”Smith”,”President”},{“John”,”Doe”,”Employee”}};
public int getColumnCount()
{
return columnNames.length;
}
public int getRowCount()
{
return rowData.length;
}
public String getColumnName(int col)
{
return columnNames[col];
}
public Object getValueAt(int row, int col)
{
return data[row][col];
}
}
And then to use you simply:
JTable table = new JTable(new TableModel());
Again, this is quick and simple and if you are dealing with large amounts of data I would recommend using a proper ORM tool.