删除表格中的某一列
* 要删除列必须使用TableColumnModel界面定义的removeColumn()方法。因此我闪先由JTable类的getColumnModel
* ()方法取得
* TableColumnModel对象,再由TableColumnModel的getColumn()方法取得要删除列的TableColumn
* .此TableColumn对象当作是
* removeColumn()的参数。删除此列完毕后必须重新设置列数,也就是使用DefaultTableModel的setColumnCount
* ()方法来设置。
*/
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("delete"))
{
int columncount = defaultModel.getColumnCount() - 1;
if (columncount >= 0)// 若columncount<0代表已经没有任何列了。
{
TableColumnModel columnModel = table.getColumnModel();
TableColumn tableColumn = columnModel.getColumn(columncount);
columnModel.removeColumn(tableColumn);
defaultModel.setColumnCount(columncount);
}
}
隐藏表格中的某一列
/**
* 隐藏JTable中不需要显示的列
* @param table 需要隐藏列的JTable
* @param colIndex 需要隐藏的列的下标(JTable列下标从0开始)
*/
public static void hide(JTable table, int[] colIndex) {
DefaultTableColumnModel dcm = (DefaultTableColumnModel) table //获取列模型
.getColumnModel();
for (int i = 0; i < colIndex.length; i++) {
dcm.getColumn(colIndex[i]).setPreferredWidth(0);
dcm.getColumn(colIndex[i]).setMinWidth(0);
dcm.getColumn(colIndex[i]).setMaxWidth(0);
}
}
第二种
把model的数据移掉就行了
再fireTableRowsDeleted(row, row);
第三种
public void removeColumn(Object columnName)
{
int index = findColumn((String)columnName);
for(int i=0;i
{
Vector rowVector = (Vector)this.dataVector.get(i);
rowVector.removeElementAt(index);
}
this.columnIdentifiers.remove(columnName);
fireTableStructureChanged();
}
弹出式添加信息
public void actionPerformed(ActionEvent e) {
JFrame addFrame=new JFrame("添加计划");
String []attribute={"课程编号","班级编号","课程性质","课程名称","课时","课程性质"};
String [][]rowdata= new String[1][6];
DefaultTableModel df=new DefaultTableModel(rowdata,attribute);
JTable addTable=new JTable(df);
JScrollPane scrollPane = new JScrollPane(addTable);
addFrame.getContentPane().add(scrollPane,BorderLayout.CENTER);
addTable.setPreferredScrollableViewportSize(new Dimension(500,100));
//
//
System.out.println("addItem:");
addFrame.setLocation(100, 60);
addFrame.setVisible(true);
addFrame.pack();
addFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
});