JTable是一定要放在JScrollPane里面才会显示列名的!
另外控件的宽度是要根据你所设的布局所决定的!

解决方案 »

  1.   

    可以设置,给你段代码看看.
    JTable table=new JTable();
    TableColumnModel cm=table.getColumnModel();
            cm.getColumn(0).setPreferredWidth(100);
            cm.getColumn(1).setPreferredWidth(60);
      

  2.   

    要根据JTable的父容器设置的布局方式来定1.如果父容器设置了布局管理器 参看Container.setLayout(),JTable的大小就由布局管理器决定,但布局管理器会参考组件的PerferrredSize和MinimumSize及MaximumSize.2.如果没设置,setLayout(null),组件的setSize,setBounds,setLocation方法就会起效.
      

  3.   

    我想着应该够你用了⑤限定列宽
    1)//--------------
    int width=20;
    table.getColumn("Column "+ colCount).setMinWidth(width);
    table.getColumn("Column "+ colCount).setMaxWidth(width);
    table.sizeColumnsToFit(0); //据说是JTable的bug,必须如此调用
    2)//--------------我较喜欢这种
    javax.swing.table.TableColumnModel tcm = table.getColumnModel();
    javax.swing.table.TableColumn tc =tcm.getColumn(1);
    tc.setPreferredWidth(150);