¿Debería utilizar SwingUtilities.invokeLater(Runnable)
si está modificando la GUI y está en el AWT Event Dispatching Thread, como ActionListener
?SwingUtilities.invokeLater en AWT Evento envío de subproceso
Respuesta
Siempre debe realizar actualizaciones de la GUI en el subproceso de distribución de eventos (EDT). Sin embargo, como Jeffrey señala en los comentarios, el método ActionListener.actionPerformed
en un objeto Swing es ya invocado desde el EDT.
Si simplemente desea que el JButton
a mirar habilitar/unenabled o para añadir/quitar elementos de una JList
, y su hacer estos cambios a través de un ActionListener
en un componente Swing, entonces no debería tener que invocar explícitamente SwingUtilities.invokeLater
.
+1, si el OP intentaba borrar un 'JTextComponent' o reubicar un' JScrollBar', 'invokeLater' podría haber sido necesario. Pero viendo que solo está habilitando/deshabilitando un 'JButton' y modificando una' JList', no lo es. – Jeffrey
@Jeffrey ¿Por qué habría sido necesario si estuviera haciendo eso? – Stripies
Mientras estemos en el EDT, usar 'invokeLater' es bastante inútil. Obviamente, si queremos ejecutar algo en un momento posterior, se aplican las mismas restricciones que de costumbre (es decir, solo porque comenzamos un hilo desde el EDT no nos ayuda para nada). – Voo
- 1. ¿Cómo puedo detectar excepciones de subproceso de envío de evento (EDT)?
- 2. SwingUtilities.invokeLater
- 3. EventQueue.invokeLater vrs SwingUtilities.invokeLater
- 4. Java: depuración con SwingUtilities.invokeLater()
- 5. Función similar SwingUtilities.invokeLater en android?
- 6. ¿Cómo se llama la secuencia de envío del evento?
- 7. Evento de envío entre 2 ventanas WPF
- 8. Diferencia entre SwingWorker y SwingUtilities.invokeLater
- 9. ¿Hay una manera limpia para recuperar el evento AWT hilo de despacho
- 10. Evento de incendio del componente Async en el subproceso UI
- 11. Doble búfer con awt
- 12. Uso de awt con android
- 13. Secuencia de activación de evento para un botón de envío
- 14. Java - Diferencia entre SwingWorker y SwingUtilities.invokeLater()
- 15. Bucle infinito de envío de formulario mediante el evento jquery
- 16. Cuándo usar evento de dominio frente a envío doble
- 17. Cómo saber qué botón de envío activó el evento onsubmit
- 18. Quiere enviar parámetros con el evento de envío personalizado
- 19. Java: crea gráficos sin awt?
- 20. Java awt font spacing options
- 21. ¿Cómo cerrar la ventana en awt?
- 22. Swing/AWT - Crear GUI programáticamente
- 23. Código de verificación de oscilación en el hilo de envío de evento en el tiempo de ejecución
- 24. mejor manera de combinar EventBus guayaba y AWT manejo
- 25. ¿Cómo puedo detectar excepciones de hilos AWT en Java?
- 26. SWT y AWT, ¿cuál es la diferencia?
- 27. ¿Está bien utilizar AWT con JavaFx?
- 28. event.preventDefault() que no impide el envío de formularios en el evento .live() de jQuery Mobile
- 29. $ envío (este) en una devolución de llamada
- 30. Subproceso de Python en paralelo
Depende de lo que intentes lograr. – Jeffrey
@Jeffrey Disculpe, edité la pregunta. – Stripies
Todavía depende de lo que estás tratando de lograr. Cuando estás en el método 'actionPerformed' de un' ActionListener', estás en el EDT. Sin embargo, hay algunos casos en los que necesita realizar alguna acción después de que todos los otros oyentes hayan terminado de procesar el mismo evento, en cuyo caso debe usar 'invokeLater'. Entonces, ¿qué estás tratando de hacer realmente? – Jeffrey