Tuesday, September 29, 2009

Getting Cell Values in a JTable

In this tutorial, you will learn how to get the cell values in a JTable component. It is a same as setting the cell values in a JTable. If you want to set the cell values, use the setValueAt() method and want to get the cell values, use the getValueAt() method that establish  the values of  the specified position.
Description of program:
This program helps you to get the cell values in a JTable. This program creates a JTable that contains some data and columns with column header and yellow background color. Here, a GetData() method returns an object at a specified position by applying  the pre-defined getValueAt() method.  This method returns the cell value  at a specified row and column position in JTable. The cell values display in the command line.
Description of code:
getValueAt(int row_index, int col_index):
This is the method that returns the object at specified row and column position. It takes the following arguments:

        row_index: This is the index of row, which value has to be retrieved.
        col_index: This is the index of column, which value has to be retrieved. 

Here is the code of program:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class GetCellValues{
  JTable table;
  public static void main(String[] args) {
    new GetCellValues();

  public GetCellValues(){
    JFrame frame = new JFrame("Getting Cell Values in JTable");
    JPanel panel = new JPanel();
    String data[][] {{"Vinod","MCA","Computer"},
    String col[] {"Name","Course","Subject"};    
    DefaultTableModel model = new DefaultTableModel(data, col);
    table = new JTable(model);
    JTableHeader header = table.getTableHeader();
    JScrollPane pane = new JScrollPane(table);
    Object obj1 = GetData(table, 22);
    System.out.println("Cell value of 3 column and 3 row :" + obj1);
    Object obj2 = GetData(table, 21);
    System.out.println("Cell value of 2 column and 3 row :" + obj2);

  public Object GetData(JTable table, int row_index, int col_index){
    return table.getModel().getValueAt(row_index, col_index);

Download this example.
Output of program:

C:\vinod\Jtable>javac GetCellValues.java

C:\vinod\Jtable>java GetCellValues
Cell value of 3 column and 3 row :Biology
Cell value of 2 column and 3 row :M.SC.

No comments: