Sometimes while programming we may need to check and show the value of JTable Cell in click event.
Here, in the given example, I did the coding in such a way that while clicking on a cell of JTable
It will show the value of that JTable cell in MessageDialog Box.
Code Example:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
class SimpleTableTest extends JFrame
{
private JPanel topPanel ;
private JTable table;
private JScrollPane scrollPane;
private String[] columnNames= new String[3];
private String[][] dataValues=new String[3][3] ;
public SimpleTableTest()
{
setTitle(“JTable Cell Click”);
setSize(300,300);
topPanel= new JPanel();
topPanel.setLayout(new BorderLayout());
getContentPane().add(topPanel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
columnNames=new String[] {“Column 1” , “Column 2” , “Column 3”};
dataValues = new String[][] {
{“1″,”2″,”3”},
{“4″,”5″,”6”},
{“7″,”8″,”9″}
};
TableModel model=new myTableModel();
table =new JTable( );
table.setRowHeight(50);
table.setModel(model);
scrollPane=new JScrollPane(table);
topPanel.add(scrollPane,BorderLayout.CENTER);
table.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent e)
{
int row=table.rowAtPoint(e.getPoint());
int col= table.columnAtPoint(e.getPoint());
JOptionPane.showMessageDialog(null,” Value in the cell clicked :”+ ” ” +table.getValueAt(row,col).toString());
System.out.println(” Value in the cell clicked :”+ ” ” +table.getValueAt(row,col).toString());
}
}
);
}
public class myTableModel extends DefaultTableModel
{
myTableModel( )
{
super(dataValues,columnNames);
System.out.println(“Inside myTableModel”);
}
public boolean isCellEditable(int row,int cols)
{
return false;
}
}
public static void main(String args[])
{
SimpleTableTest mainFrame=new SimpleTableTest();
mainFrame.setVisible(true);
}
}
OUTPUT:
And what if you click TAB?
LikeLike
Sorry? I didn’t understand your question.
LikeLike
dear friend,
You can change the event from mouse clicked to key pressed/ key released(any key event) to achieve the same output.
Greetings…
LikeLike
Thanks a lot for this help!
LikeLike
thank you very much, it ws very useful
LikeLike
Thanks man!
LikeLike
Please reformat the code and use standard double quotes.
LikeLike