Uso de SwingUtilities.invokeLater() en Java
En la programación de Java, para proporcionar a los desarrolladores una forma fácil de evitar el acceso simultáneo a ellos, los diseñadores de Swing
proporcionaron la regla de que todo el código que accede debe ejecutarse en el mismo hilo.
El método SwingUtilities.invokeLater()
ejecuta el ejecutable en el subproceso de envío de eventos de Abstract Window Toolkit (AWT). Lo hacemos porque las estructuras de datos Swing
no son seguras para subprocesos.
La seguridad de subprocesos significa que se puede usar en paralelo desde más de un subproceso sin causar ningún error.
Uso del Método SwingUtilities.invokeLater()
en Java
El método SwingUtilities.invokeLater()
es importante cuando se utilizan subprocesos múltiples en aplicaciones Java y se utiliza Swing
como interfaz de usuario para las aplicaciones. Cualquier actualización en la interfaz de usuario debe ocurrir en el subproceso de envío de eventos.
El código en el subproceso no se llama directamente desde un controlador de eventos, pero organizamos específicamente nuestro código de actualización de interfaz gráfica de usuario (GUI) y, en general, ese código se llamará en el subproceso de envío de eventos.
Código SwingUtilities.InvokLater()
:
package codes;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Codes {
protected static void frameUI() {
// Creating JFrame and calling from the main method
JFrame myFrame = new JFrame("Testing SwingUtilities.Invokelater");
myFrame.setBounds(20, 20, 350, 250);
myFrame.setVisible(true);
System.err.println(myFrame.getSize());
myFrame.setResizable(false);
System.err.println(myFrame.getSize());
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
frameUI(); // Calling Jframe
}
});
}
}
Subproceso de envío de eventos
En la programación de Java, específicamente, cuando se trabaja con la programación basada en la interfaz gráfica de usuario (GUI) con Swing
, debe haber pasado por subprocesos múltiples y haber escuchado o utilizado el subproceso de envío de eventos.
El subproceso de envío de eventos es el subproceso que llama a los controladores de eventos. Esencialmente, este subproceso ejecutará todo el código de la interfaz de usuario (UI).
Es una buena práctica tener un solo subproceso designado que maneje toda la interfaz de usuario (UI) porque ayuda a evitar muchos errores.
Subprocesamiento de Java
Threading es un concepto general en la programación de computadoras. Un subproceso es un subproceso ligero del proceso general.
Mejora el rendimiento general del paralelismo de aplicaciones. Las aplicaciones se dividen en pequeñas unidades ejecutables que a veces se ejecutan de forma independiente ya veces de forma dependiente, según la naturaleza de la tarea de la aplicación.
Sintaxis de Thread
en Java:
Thread myThread = new Thread();
Cada subproceso tiene un proceso, que representa un flujo de control separado. Estos se implementan con éxito en servidores web y servidores de red.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn