File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Array Index Out of Bound Exception

 
ravi janap
Ranch Hand
Posts: 389
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Mark Spritzler
ranger
Sheriff
Posts: 17276
6
IntelliJ IDE Mac Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is row number one based or zero based?
Mark
 
Kalichar Rangantittu
Ranch Hand
Posts: 240
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
ravi janap
Ranch Hand
Posts: 389
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Mark Spritzler
ranger
Sheriff
Posts: 17276
6
IntelliJ IDE Mac Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic