import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
public class Demo extends JFrame{
int m;
int n;
JTable jtm=null;
DefaultTableCellRenderer tcr=null;
Demo()
{
tcr = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
JTextField text = new JTextField(value.toString());
if(row==n&column==m) {
text.setBackground(Color.RED);
text.setForeground(Color.BLACK);
} else {
text.setBackground(Color.WHITE);
text.setForeground(Color.CYAN);
}
return text;
}
};
String[] x1={"1","2","3","4"};
String[][] x2={{"q","w","e","r"},{"a","s","d","f"},{"z","x","c","v"}};
DefaultTableModel dtm= new DefaultTableModel(x2,x1);
jtm=new JTable(dtm);
jtm.setDefaultRenderer(Object.class, tcr);
JPanel jp= new JPanel(new BorderLayout());
jp.add(new JScrollPane(jtm),BorderLayout.CENTER);
this.setContentPane(jp);
this.setBounds(100, 100, 300, 300);
this.setVisible(true);
jtm.addMouseListener(new MouseAdapter(){
@Override
public void mousePressed(MouseEvent e) {
m=jtm.getSelectedColumn();
n=jtm.getSelectedRow();
String str=(String)jtm.getValueAt(n, m);
}
}
);
}
public static void main(String[] args) {
new Demo();
}
}