Estoy escribiendo una aplicación de escritorio usando SWT. ¿Cuál es la forma más sencilla de actualizar los controles de GUI desde otro hilo?Cómo actualizar SWT GUI desde otro hilo en Java
Respuesta
Utilice Display.asyncExec o Display.syncExec, dependiendo de sus necesidades.
Por ejemplo, otro hilo podría llamar a este método para actualizar de forma segura una etiqueta:
private static void doUpdate(final Display display, final Label target,
final String value) {
display.asyncExec(new Runnable() {
@Override
public void run() {
if (!target.isDisposed()) {
target.setText(value);
target.getParent().layout();
}
}
});
}
Hay un tutorial here.
"SWT hace un punto a prueba de fallas cuando se trata de problemas de subprocesos, por lo que al menos los problemas típicos no pasan desapercibidos hasta la producción. La cuestión es, sin embargo, ¿qué haces si necesitas actualizar una etiqueta de botón//-Duper-super Control en SWT de un subproceso de fondo Bueno, es sorprendentemente similar a la oscilación:?"
// Code in background thread.
doSomeExpensiveProcessing();
Display.getDefault().asyncExec(new Runnable() {
public void run() {
someSwtLabel.setText("Complete!");
}
});
en realidad se puede acaba de enviar un mensaje al hilo GUI que alguna modificación tiene sido cambiado Esto es más claro si lo ves desde la perspectiva de MVC.
Al crear el hilo separado desde el hilo principal pasar el objeto Gui a la nuevo hilo y puede acceder a todas las propiedades de ese objeto GUI.
- 1. Actualizar GUI por otro hilo en java (columpio)
- 2. PySide: forma más fácil de actualizar GUI desde otro hilo
- 3. ¿Cómo puedo matar un hilo de otro hilo en Java?
- 4. Java AWT/SWT/Swing: ¿cómo planificar una GUI?
- 5. Actualizar un ObservableCollection de otro hilo
- 6. C# Aplicación de formularios de Windows - ¿Actualizando GUI desde otro hilo Y clase?
- 7. ¿Escribir en un TextBox desde otro hilo?
- 8. cómo actualizar GUI desde swingworker que devuelve dos valores diferentes
- 9. Accediendo a vistas desde otro hilo (Android)
- 10. Cómo cancelo un socket.recv() desde otro hilo en Python
- 11. ¿Cómo se puede direccionar una GUI Swing/JFace/SWT?
- 12. GUI no actualizada desde otro subproceso al usar PyGtk
- 13. Actualizar GUI usando BackgroundWorker
- 14. llamando al hilo principal desde el hilo Runnable en java
- 15. cómo hacer tostadas desde otro hilo (sans runOnUiThread)
- 16. de control de actualización desde otro hilo en C# 2.0
- 17. ¿Cómo depurar la excepción en otro hilo?
- 18. Actualizando el componente Swing desde otro hilo con invokeLater o SwingWorker
- 19. ¿Es posible usar SWT desde Jython?
- 20. Agregar un control en un formulario, desde otro Hilo
- 21. Cómo pasar objeto a partir de hilo conductor a otro hilo en Java
- 22. Java: ¿cómo atrapo InterruptedException en un hilo, cuando es interrumpido por otro hilo?
- 23. ¿Cómo esperar a que termine un hilo antes de que comience otro hilo en Java/Android?
- 24. Actualizar textoVer del hilo
- 25. ¿Cómo actualizo una GUI en Java?
- 26. Ejecuta MBProgressHUD en otro hilo?
- 27. Código de ejecución en el hilo principal de otro hilo
- 28. Crear GUI usando Eclipse (Java)
- 29. Llamando a los métodos @Transactional desde otro hilo (Ejecutable)
- 30. Ejecutar un control WPF en otro hilo
El hecho de que el hilo de la GUI tenga una referencia al objeto GUI, no significa que tenga acceso. Solo puede actualizar objetos GUI desde el hilo original. –