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:

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: