Removing a Column from a JTable

In this section, you will learn how to remove a column from a JTable component that uses the table model.

Removing a Column from a JTable

In this section, you will learn how to remove a column from a JTable component that uses the table model.

Removing a Column from a JTable

Removing a Column from a JTable

     

In this section, you will learn how to remove a column from a JTable component that uses the table model. Removing a column from a JTable means deleting  the column containing the data. For removing the column, use the removeColumn() method, for this, you need the index of column that have to be deleted from the JTable. 

Description of program:

This program helps you in how to remove a column from a JTable. For this, have or make  a table that have three columns containing data with the column header. The text color of the header is black and the color of  the background is yellow. After that,  this program uses the Remove method for removing the column from JTable through removeColumn() method. The removeColumn() method can  removes any specified column in the JTable. After removing  it, there will be two columns: Name and Subject.

Description of code:

removeColumn( TableColumn tcol):
This method is used for removing a column from JTable. It takes an object of TableColumn that represents all attributes of a column in a JTable.

    tcol: It denotes the TableColumn that will be removed.

Here is the code of program:

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class RemoveColumn{
  DefaultTableModel model;
  JTable table;
  public static void main(String[] args) {
  new RemoveColumn();
  }

  public RemoveColumn(){
  JFrame frame = new JFrame("Remove a column from a JTable");
  JPanel panel = new JPanel();
  String data[][] {{"Vinod","MCA","Computer"},
   {
"Deepak","PGDCA","History"},
   {
"Ranjan","M.SC.","Biology"},
   {
"Radha","BCA","Computer"}};
  String col[] {"Name","Course","Subject"};  
  model = new DefaultTableModel(data, col);
  table = new JTable(model);
  JTableHeader header = table.getTableHeader();
  header.setBackground(Color.yellow);
  //remove column at second position
  Remove(table,1);
  JScrollPane pane = new JScrollPane(table);
  panel.add(pane);
  frame.add(panel);
  frame.setSize(500,150);
  frame.setUndecorated(true);
  frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public void Remove(JTable table, int col_index){
  TableColumn tcol = table.getColumnModel().getColumn(col_index);
  table.removeColumn(tcol);
  }
}

Download this example.

Output of program:

Before removing a column:

After removing a column: