My code is as follows String[] columnNames = { "Flight #" , "Origin Airport" , "Destination Airport" , "Carrier #" , "Price" , "Day" , "Time" , "Duration" , "Available Seats" }; JTable table = new JTable(); for ( int i = 0; i < columnNames.length; i++ ) { table.setValueAt( columnNames[i] , 0, i); } When I execute it , I get the following error java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Vector.java:417) at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:276) at javax.swing.JTable.convertColumnIndexToModel(JTable.java:1623) at javax.swing.JTable.setValueAt(JTable.java:1737) at suncertify.client.FBNClient.<init>(FBNClient.java:53) at suncertify.client.FBNClient.main(FBNClient.java:94) Something wrong with the row and column indexes used by me . Any clues? -- Ravindra
Well from what I see, the table yet doesnt know what columns it has. You will need to tell the table, thus the tablemodel as to what its column headers are. I think has not even created the column models. Typically a table is constructed with data and an array of column names to use. If you cant do that create a TableModel that extends AbstractTableModel and provide the functionality there. Good luck
Never be satisfied with anything less than the best and you will surely pass the test...
ravi janap
Ranch Hand
Joined: Nov 04, 2000
Posts: 389
posted
0
Mark If I understood your question correctly? Right now , I am just trying to create a empty table then populate the top row ( 0th row ) with column names of the table. Is that approach wrong ? I'll try to implement the same using TableModel. Thanks -- Ravindra
Oh , I see. ther is no row 0 they are not the headers. You need to set the headers via the setTableHeader method. However I think you will find all this much easier by extending AbstractTableModel, and creating this implementation of data and headers yourself. I even set mine from a DataInfo[] array passed to the constructor which passes the header names to an array, and also to set the data. Just look at what you can do with it. Mark
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.