DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("root");
root.add(new DefaultMutableTreeTableNode("child1"));
root.add(new MyMutableTreeTableNode(new String[]{"child2", "1", "2", "3"}));
root.add(new DefaultMutableTreeTableNode("child3"));
List<String> columns = Arrays.asList("root", "col1", "col2", "col3");
TreeTableModel m = new DefaultTreeTableModel(root, columns);
treeTable.setTreeTableModel(m);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(treeTable, BorderLayout.CENTER);
pack();
repaint();