I strongly suspect the problem is that you're passing the arguments in the wrong order. The first parameter of DefaultTableModel(Vector, Vector)
is meant to be the data. It's the second parameter which is meant to be the column names. So try this:
table = new JTable(new DefaultTableModel(data.content(), data.headers()));