This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Understanding JTable.addColumn()

 
Stephan Mueller
Ranch Hand
Posts: 50
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello folks,

this is a hacky approach at understanding swing's JTable, based on Sun's Demo Application. After clicking into the table, a new column is added and displayed (my custom datamodel registers as listener to the columnAdded-Event). I'm expecting to have cell-value for this new column = "argh" but the value is the same as it is for the first column (Mary). I don't get this. What am I missing here? The TableDemo.debugColumnAdd output at least assumes that argh is returned for the new column. So why/how are the renderers calling tableModel.getValueAt(...)? Instead of using columnIndex 5 they wrap back to 0.

The main class:


My custom tableModel:
 
Stephan Mueller
Ranch Hand
Posts: 50
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Solution:
TableColumn foo = new TableColumn(); creates a new TableColumn with a model index of 0! That's why the code always returns Mary (getValueAt(0,0)) instead of the expected argh (getValueAt(0,5))
TableColumn foo = new TableColumn(5); is the solution for adding one column, otherwise TableColumn foo = new TableColumn(tableModel.getColumnCount); would be for adding arbitrary numbers of columns.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic