Estoy tratando de agregar una columna a una JTable
con el comportamiento siguiente (similar al Explorador de Windows y conchas similares):Hacer una célula JTable editable - pero * no * es haciendo doble clic en
- La célula puede ser clickeado una vez para seleccionarlo, como de costumbre.
- Se puede hacer doble clic en la celda para realizar una acción por separado (iniciando un programa externo)
- El valor de celda (una cadena) aún se puede editar haciendo un solo clic por segunda vez (después de una pausa) o presionando F2 cuando la celda está resaltada.
Al hacer doble clic debe no edición de gatillo de la célula, pero me gustaría salir de cualquier otro tipo de edición predeterminado desencadena operativa si es posible.
He intentado añadir un MouseListener
a la mesa, y el consumo de todas las MouseEvent
s, pero esto no funciona - si vuelvo true
de isCellEditable()
entonces mi oyente no recibe ningún eventos de clic, pero si vuelvo false
continuación F2 sin más tiempo funciona.
¿Se puede lograr esto utilizando solo detectores de eventos? Preferiría no meterme con las funciones PLAF si puedo evitarlo.
[Aquí] (http://stackoverflow.com/a/25919008/738017) hay una respuesta más reciente de [camickr] (http://stackoverflow.com/users/131872/camickr) que resuelven el problema en 4 líneas de código. –