jtable列变宽,其余不变

解决方案 »

  1.   

    final JTable table = new JTable(display,SWT.NONE);
    TableLayout tblayout = new TableLayout();
    tb.setLayout(tblayout);
    tblayout.addColumnData(new ColumnWeightData(10));
      

  2.   

    如果TM是你用的TABLEMODEL的话
    Tm model = (Tm)table.getModel();
    TableColumn column = null;
    Component comp = null;
    int headerWidth = 0;
    int cellWidth = 0;
           
    TableCellRenderer headerRenderer = table.getTableHeader().getDefaultRenderer();
            for (int i = 0; i < model.getColumnCount(); i++) {
               column = table.getColumnModel().getColumn(i);
               comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(),
                                                                   false, false, 0, 0);
           headerWidth = comp.getPreferredSize().width;
           //下面这句就是设置列宽的语句
           column.setPreferredWidth(headerWidth);       }