写一个简单的程序如下,运行后,先改变列的宽度,然后按add钮给JTable添加一列,发现原来拉大的列宽都会变回初始的宽度。其实所有其他的列属性都会丢失掉,比如你给某列加了个renderer,添加列后,这个renderer也变成默认的了。
请问添加列时,如何保持原有的列属性不变呢?package test;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;public class TableTest extends JFrame implements ActionListener {
    private JTable table;
    private JButton button;
    
public TableTest() {
        super( "Tabel Test" );
        setSize( 600, 400 );
        String[] cols = new String[] { "列1", "列2", "列3" };
        String[][] data = new String[][]{ {"1", "2", "3"} };
        table = new JTable( new DefaultTableModel( data, cols ) );
        table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
        Container pane = this.getContentPane();
        pane.add( new JScrollPane( table ) );
        button = new JButton( "add" );
        button.addActionListener( this );
        pane.add( button, BorderLayout.SOUTH );
        this.show();
} public void actionPerformed( ActionEvent e ) {
        TableModel model = table.getModel();
        ((DefaultTableModel) model).addColumn( "列4" );
}
    
    public static void main( String[] args ) {
        new TableTest();
    }
    
}