Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/05/2010, 14:24
xxNaToxx
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: jTable & doble click. Sombreado Azul.

lo que nesecitas hacer es un "cuadruple clik", 2 clicks son para seleccionar la celda (exactamente lo mismo que si precionaras F2), y otro doble clik para seleccionar todo.

si lo que quieres es que una ves estando en la celda seleccionada, y que cuando el usuario inicie a escribir un valor nuevo se borre el anterior, tendras que sobreescribir la forma en la que el JTable manipula el inicio de la edicion de una celda.....

Encontrar este codigo me llevo dias completos, pero cuando lo cale funciono de maravilla, lo comparto contigo, ya que no encontre nada similar en un foro en español.

Código Java:
Ver original
  1. JTable tabla = (new javax.swing.JTable() {
  2.  
  3.     public final static String EXCLUDE = "F2";
  4.  
  5.     private boolean isBlankEditor = false;
  6.  
  7.     @Override
  8.     public Component prepareEditor(TableCellEditor editor, int row, int column) {
  9.         Component c = super.prepareEditor(editor, row, column);
  10.  
  11.         if (isBlankEditor)
  12.         ((JTextField) c).setText("");
  13.  
  14.         return c;
  15.     }
  16.  
  17.     @Override
  18.     protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
  19.         if (! EXCLUDE.equals(KeyEvent.getKeyText(e.getKeyCode())))
  20.         isBlankEditor = true;
  21.  
  22.         boolean retValue = super.processKeyBinding(ks, e, condition, pressed);
  23.  
  24.         isBlankEditor = false;
  25.         return retValue;
  26.     }
  27.  
  28. });

si te fijas a la hora de crear el objeto, lo haces pero con una clase anonima con metodos sobre-escritos de la clase JTable......
no es que yo entienda a la perfeccion que es lo que paso.... por mas que busque no pude encontrar el codigo fuente de la clase JTable como para ver para que se usava cada cosa...... pero pues funciona y me saco del apuro (ayer.....)

Espero te allude este codigo.

Suerte!!!! :D