//My custom cell editor
import java.awt.Color;
import java.awt.Component;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.JTextField;
public class MyCellEditor extends DefaultCellEditor{
private static final long serialVersionUID = 1L;
JTextField jtf;
public MyCellEditor() {
super(new javax.swing.JTextField());
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column){
Component c = super.getTableCellEditorComponent(table, value, isSelected, row, column);
if(c instanceof JTextField){
jtf = (JTextField)c;
jtf.selectAll();
jtf.setBorder(BorderFactory.createLineBorder(Color.GREEN, 1));
}
return c;
}
}
/*
* TableTest.java
*
* Created on 08 July 2004, 11:07
*/
/**
*
* @author admin
*/
import javax.swing.JTable;
class MyEditor extends javax.swing.DefaultCellEditor{
javax.swing.JTextField jtf;
public MyEditor(){
super(new javax.swing.JTextField());
}
public java.awt.Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column){
java.awt.Component c = super.getTableCellEditorComponent( table, value, isSelected, row, column);
if(c instanceof javax.swing.JTextField){
jtf = ((javax.swing.JTextField)c);
jtf.selectAll();
//jtf.setText("");
//jtf.setCaretPosition(0);
jtf.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.BLACK, 1));
}
return c;
}
}
public class TableTest extends javax.swing.JFrame {
/** Creates new form TableTest */
public TableTest() {
initComponents();
((javax.swing.DefaultCellEditor)jTable1.getDefaultEditor(new Object().getClass())).setClickCountToStart(1);
//jTable1.setDefaultEditor(new Object().getClass(), new MyEditor());
jTable2.setDefaultEditor(new Object().getClass(), new MyEditor());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {
jTable1 = new javax.swing.JTable();
jTable2 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{"jtable1", "jtable1", "jtable1", "jtable1"},
{"jtable1", "jtable1", "jtable1", "jtable1"},
{"jtable1", "jtable1", "jtable1", "jtable1"},
{"jtable1", "jtable1", "jtable1", "jtable1"}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
getContentPane().add(jTable1, java.awt.BorderLayout.NORTH);
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{"jtable2", "jtable2", "jtable2", "jtable2"},
{"jtable2", "jtable2", "jtable2", "jtable2"},
{"jtable2", "jtable2", "jtable2", "jtable2"},
{"jtable2", "jtable2", "jtable2", "jtable2"}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
getContentPane().add(jTable2, java.awt.BorderLayout.SOUTH);
jLabel1.setText("JTable clear selection on focus loss example by cjard@hotmail.com");
getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER);
pack();
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new TableTest().show();
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
// End of variables declaration
}