DefaultTableModel dtm = new DefaultTableModel(列名[], 行数);
JTable table = new JTable(dtm); でJTableを構築した場合、
dtm.addRow(データ[]); で行が追加できて表示されるのですが、

DefaultTableModel dtm = new DefaultTableModel(列名[], 行数);
DefaultTableColumnModel dcm = new DefaultTableColumnModel();
JTable table = new JTable(dtm, dcm); でJTableを構築した場合は
dtm.addRow(データ[]); をしてもJTableにデータが追加されません。

JDKのドキュメントを見ると、new JTable(dtm) で構築した場合は、
デフォルトでDefaultTableColumnModelを使うみたいですが、
明示的にnew JTable(dtm, dcm)と入れると動きません。

何が悪いのでしょうか。