在我的tablemodel里面有个vector来存放jtable表中的内容,但是想不显示vector中的一列数据,能不能只是通过model来进行修改那?

解决方案 »

  1.   

    你是想有个隐藏列的数据吧?
    控制表头的TableColumnModel好象没这个方法,再找找看
      

  2.   

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;public class T {
    public static void main(String[] args)
    {
    final JTable table = new JTable(10, 5); final JButton hideColButton = new JButton("隐藏第2列");
    hideColButton.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    if (table.getColumnModel().getColumnCount() == 5) {
    TableColumn column = table.getColumnModel().getColumn(1);
    table.getColumnModel().removeColumn(column);
    hideColButton.setEnabled(false);
    }
    }
    });
    JFrame f = new JFrame();
    f.getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
    f.getContentPane().add(hideColButton, BorderLayout.SOUTH);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    }
    }