JTable suffers from severe performance problems when the number of columns becomes large. It appears that the amount of time required for adding columns ncreases exponentially depending on the number of columns in the table (visible or not).
In addition, the performance of column resizing is terrible. Although the behavior is 0(n), the linear cost of very high. Putting in some optimizations for how column widths are calcuated could greatly improve usability.