DefaultTableModel wants a
Vector<Vector<?>> (a Vector of Vectors), not a
Vector<Object[]> (a Vector of Object arrays). This is explained on the DefaultTableModel Javadoc page:
This is an implementation of TableModel that uses a Vector of Vectors to store the cell value objects.
It would be better if the API actually reflected that, so no raw
Vector but instead
Vector<? extends Vector<?>>. Note that the
? extends is required to allow
Vector<Vector<Integer>> or even
Vector<Vector<Object>>; with
Vector<Vector<?>> the compiler allows nothing except a literal
Vector<Vector<?>>.