Saltar al contenido principal

Conector Webswing

Abrir en ChatGPT

El WebswingConnector proporciona una comunicación bidireccional entre su aplicación webforJ y la aplicación Swing integrada. Esto le permite enviar comandos a la aplicación Swing y recibir notificaciones cuando ocurren eventos dentro de ella.

Enviando acciones a Swing

El método performAction() permite que su aplicación webforJ active funcionalidades en la aplicación Swing. Esto es útil para sincronizar el estado, activar actualizaciones o controlar el comportamiento de la aplicación Swing desde la interfaz web.

Por ejemplo, si su aplicación Swing tiene un controlador de acciones personalizado para actualizar datos:

// Activar una actualización en la aplicación Swing desde webforJ
connector.performAction("refresh");

También puede enviar datos junto con la acción. La aplicación Swing recibe esto a través de su integración de API de Webswing:

// Enviar un comando con datos desde webforJ
connector.performAction("selectRecord", "12345");

// Enviar datos binarios
byte[] fileContent = Files.readAllBytes(path);
connector.performAction("uploadDocument", "invoice.pdf", new String(fileContent));

Los nombres de las acciones y los formatos de datos esperados están definidos por la implementación de su aplicación Swing.

Recibiendo eventos de Swing

El conector dispara tres tipos de eventos que notifican a su aplicación webforJ sobre el estado y las acciones de la aplicación Swing.

Eventos del ciclo de vida

El evento de inicialización se dispara cuando se establece la conexión de Webswing y está lista para la comunicación:

connector.onInitialize(event -> {
// Conexión establecida
connector.getInstanceId().ifPresent(id ->
console.log("Conectado a la instancia de Webswing: " + id)
);
});

El evento de inicio se dispara cuando la aplicación Swing se ha cargado completamente y está en ejecución:

connector.onStart(event -> {
// La aplicación Swing ahora es visible e interactiva
console.log("Aplicación lista para la interacción del usuario");
});

Eventos de acción personalizada

Cuando su aplicación Swing envía acciones personalizadas de vuelta a la interfaz web utilizando la API de Java de Webswing, estas se reciben como eventos de acción:

connector.onAction(event -> {
String actionName = event.getActionName();

switch(actionName) {
case "dataUpdated":
event.getActionData().ifPresent(data -> {
// Manejar la notificación de actualización
updateWebInterface(data);
});
break;

case "fileReady":
event.getActionBinaryData().ifPresent(data -> {
// Datos binarios
saveFile(fileData);
});
break;
}
});