Home Java Example Java Swing Inserting a Column in JTable
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Inserting a Column in JTable

Advertisement
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. 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:

Advertisements

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: April 14, 2007

Ask Questions?    Discuss: Inserting a Column in JTable  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
Joe
November 1, 2011
It dosent work

TableModel model = table.getModel(); while(SQL.next()){ model..addColumn(SQL.getString(1)); } it dosen't work there is no addColum method.
Vova
January 7, 2012
THANKS!

THANKS!
DMCA.com