Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > JAVA
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2010
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Talking Hola!

Bueno, despues de mucho buscar, lo he solucionado no es exactamente lo que queria, pero funciona mas o menos parecido ^.^, dejo mi solucion en caso de que a alguien le sirva.

1) Sobre-escribi el metodo getCellEditor de mi JTable.
Código:
public TableCellEditor getCellEditor(int row, int col) {
        final JTextField field = new JTextField(getValueAt(row,col).toString());
        final DefaultCellEditor edit = new DefaultCellEditor(field);
        edit.setClickCountToStart(1);
        field.addFocusListener(new FocusAdapter() {
            public void focusGained(FocusEvent e) {
                field.selectAll();//Con esto al solicitar el editor, el texto queda seleccionado
            }
            public void focusLost(FocusEvent e) {
                field.select(0,0);//De-selecciono el texto al perder el foco.
            }
        });
        return edit;
Con esto cada celda reacciona como un JTextField y al obtener el foco selecciona todo su texto.
Esto no solucionaba mi problema debido a que cuando comenzaba la edicion desde el teclado y no con doble click (o un solo click) el texto se adjuntaba al existente, asi que para solucionar esto agregue un listener a la JTable que escuchara el evento KeyRelased y solicitara el foco cuando se presionara una tecla, asi se simulaba el doble click del mosue.
Código:
tabla.addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyReleased(java.awt.event.KeyEvent e) {
        if (!jTable1.isEditing() && jTable1.editCellAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn())) {
            jTable1.getEditorComponent().requestFocusInWindow();
        }
    }
});
Aunque no es una solucion muy elegante, funciona. Solo me falta definir que si es VK_ESCAPE, cancele la edicion y si es VK_ENTER pare la edicion (bueno eso espero :P)...
Un saludo.
__________________
Gracias!
Responder Con Cita
  #2  
Antiguo 09-02-2017
xibx xibx is offline
Registrado
NULL
 
Registrado: feb 2017
Posts: 1
Poder: 0
xibx Va por buen camino
Ayuda

Hola,

Me gustaría q me ayudes a usar tu código del TableCellEditor please!!! Soy nueva en esto por favor ayudame!
Responder Con Cita
  #3  
Antiguo 09-02-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenida a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Responder Con Cita
  #4  
Antiguo 24-05-2018
AlexSC AlexSC is offline
Registrado
NULL
 
Registrado: may 2018
Posts: 1
Poder: 0
AlexSC Va por buen camino
Ayuda

Oye y como sobreescribiste el metodo getCellEditor?

en que clase lo sobreescribiste??

o donde lo estas utilizando? ya que al hacer el keyevent no miro que hagas referencia del getCellEditor?

y si tu dices que lo agregaste a la tabla.... tu creaste la tabla desde 0 por eso le agregaste ese elemento?
o
tu jalaste una tabla del swing y le agregaste esa programacion del getCellEditor? y si lo hiciste asi como se lo agregaste?
Responder Con Cita
  #5  
Antiguo 24-05-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola AlexSC.

La última vez que Negriz anduvo por estos foros fué allá, por el 2010... Te aconsejo formular tu problema en una nueva consulta.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar datos de un jTable? lince_36 JAVA 2 14-04-2010 08:24:20
como poner un jChekbox en un jTable rls JAVA 1 12-01-2007 16:52:54
como poner un jChekbox en una celda de un jTable rls Varios 1 10-12-2006 17:33:21
JTable Dudin JAVA 0 21-03-2005 18:52:13
Texto en celda del DBGrid antes del Post andre Conexión con bases de datos 6 16-06-2004 17:04:36


La franja horaria es GMT +2. Ahora son las 10:02:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi