Inserting a Column in JTable

In this Java programming tutorial, you will learn how to insert a column in JTable at a specified location.

Inserting a Column in JTable

In this Java programming tutorial, you will learn how to insert a column in JTable at a specified location.

Inserting a Column in JTable

Inserting a Column in JTable

     

In this Java programming tutorial, you will learn how to insert a column in JTable at a specified location. As, you have learnt in previous section for inserting rows in JTable through using the insertRow() method. But, there is no direct  method for inserting a column at a particular position in JTable. So, in this case you must add a column always at the append position in JTable with the help of addColunm() method, after that the new column can be moved onto the desired position in JTable. 

Description of program:

In this program we will  insert a column in JTable at a particular position. First of all this program creates a JTable containing  4 rows and 3 columns. After adding a column, the JTable will contain 4 columns. The new column of  JTable will add in the append position. So, you must have to move it to the specified position in JTable. Here, the positionColumn method is applied for moving the column in JTable that uses moveColum() method to move the position of column in JTable. Look at this. 

Description of code:

moveColumn( int col_index, int targetCol_index):
This is the method of  moving  the column at appropriate position as well as it also shifts one position to others in the JTable. There are  two arguments applies in it. These are:

    col_index: This is the index of column to be moved from the source to destination.
  targetCol_index: This is the index of new column in which is the destination column index. 

Here is the code of program:

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

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

  public InsertColumn(){
  JFrame frame = new JFrame("Inserting a Column Example!");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  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);
  model.addColumn("Marks");
  table = new JTable(model);
  //add column at third position
  positionColumn(table,2);
  JTableHeader header = table.getTableHeader();
  header.setBackground(Color.yellow);
  JScrollPane pane = new JScrollPane(table);
  panel.add(pane);
  frame.add(panel);
  frame.setUndecorated(true);
  frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
  frame.setSize(600,150);
  frame.setVisible(true);
  }

  public void positionColumn(JTable table,int col_Index) {
  table.moveColumn(table.getColumnCount()-1, col_Index);
  }
}

Download this example.

Output of program:

Before inserting a column:

After inserting a column: