Communication
De WebswingConnector biedt bidirectionele communicatie tussen uw webforJ-app en de ingesloten Swing-app. Dit stelt u in staat om commando's naar de Swing-app te verzenden en meldingen te ontvangen wanneer er gebeurtenissen binnen de app plaatsvinden.
Acties naar Swing verzenden
De performAction()-methode stelt uw webforJ-app in staat om functionaliteit in de Swing-app te activeren. Dit is nuttig voor het synchroniseren van de status, het activeren van updates of het controleren van het gedrag van de Swing-app vanuit de webinterface.
Bijvoorbeeld, als uw Swing-app een aangepaste actiehandler heeft voor het verversen van gegevens:
// Trigger een verversing in de Swing-toepassing vanuit webforJ
connector.performAction("refresh");
U kunt ook gegevens samen met de actie verzenden. De Swing-app ontvangt dit via de Webswing API-integratie:
// Stuur een commando met gegevens vanuit webforJ
connector.performAction("selectRecord", "12345");
// Stuur binaire gegevens
byte[] fileContent = Files.readAllBytes(path);
connector.performAction("uploadDocument", "invoice.pdf", new String(fileContent));
De actienamen en verwachte gegevensformaten zijn gedefinieerd door de implementatie van uw Swing-app.
Evenementen van Swing ontvangen
De connector genereert drie soorten evenementen die uw webforJ-app informeren over de status en acties van de Swing-app.
Levenscyclus evenementen
Het initialiseer evenement wordt geactiveerd wanneer de Webswing-verbinding is tot stand gebracht en klaar is voor communicatie:
connector.onInitialize(event -> {
// Verbinding tot stand gebracht
connector.getInstanceId().ifPresent(id ->
console.log("Verbonden met Webswing-instantie: " + id)
);
});
Het start evenement wordt geactiveerd wanneer de Swing-app volledig is geladen en actief is:
connector.onStart(event -> {
// Swing-toepassing is nu zichtbaar en interactief
console.log("Toepassing klaar voor gebruikersinteractie");
});
Aangepaste actie evenementen
Wanneer uw Swing-app aangepaste acties terugstuurt naar de webinterface met behulp van de Webswing Java API, worden deze ontvangen als actie-evenementen:
connector.onAction(event -> {
String actionName = event.getActionName();
switch(actionName) {
case "dataUpdated":
event.getActionData().ifPresent(data -> {
// Verwerk de update-melding
updateWebInterface(data);
});
break;
case "fileReady":
event.getActionBinaryData().ifPresent(data -> {
// Binaire gegevens
saveFile(fileData);
});
break;
}
});