Tengo problemas con el siguiente código, donde uso un JComboBox para cambiar un valor de cadena en una celda de tabla. JComboBox funciona bien, pero si hago clic en el cuadro y luego hago clic en sin seleccionar nada el menú desplegable de JComboBox permanece visible, incluso si borro la fila. Al hacer clic en otro componente de Swing como un JButton a menudo hace que desaparezca, pero no siempre.problema de enfoque utilizando un JComboBox como editor de celda en una JTable
TableColumn col = myTable.getColumnModel().getColumn(0);
JComboBox eq = new JComboBox();
eq.addItem("==");
eq.addItem("!=");
DefaultCellEditor editor = new DefaultCellEditor(eq);
col.setCellEditor(editor);
Editar: me había olvidado mencionar que antes me puse:
myTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
Si comento esta línea a cabo o se establece falso, entonces al hacer clic en otros componentes Swing no hace que el cuadro de desaparecer. Al hacerlo, al hacer clic en cualquier cosa que tenga un foco, la caja se irá, haciendo que el problema sea menos molesto, pero posiblemente enmascarando la causa del comportamiento.
¿Estoy haciendo algo mal aquí o estoy olvidando un paso? Alternativamente, ¿hay alguna manera de obligarlo a cerrarse?
Gracias!
Gracias por el fondo y la respuesta completa. He echado un vistazo a esos métodos pero aún no he encontrado nada. Creo que básicamente tienes la respuesta correcta, solo que necesito descubrir dónde está pasando. ¡Gracias! –
¡Buena respuesta completa! –
Gracias por la lección sobre las diferencias entre el renderizador y el editor. Muy útil. – Boundless