Setup and Configuration
Webswingin integroiminen webforJ:hin koostuu kahdesta komponentista: Webswing-palvelimesta, joka isännöi Swing-sovellustasi, ja WebswingConnector-komponentista webforJ-sovelluksessasi, joka upottaa sen.
Edellytykset
Ennen kuin aloitat, varmista, että sinulla on seuraavat edellytykset:
- Java-desktop-sovellus: Swing-, JavaFX- tai SWT-sovellus, joka on pakattu JAR-tiedostoksi
- Webswing-palvelin: lataa webswing.org
- webforJ versio
25.10tai uudempi: vaaditaanWebswingConnector-tuesta
Arkkitehtuurin yleiskatsaus
Integrointiarkkitehtuuri koostuu:
- Webswing-palvelin: ajaa Swing-sovellustasi, tallentaa GUI:n renderoinnin ja käsittelee käyttäjän syötteen
- webforJ-sovellus: isännöi verkkosovellustasi upotetun
WebswingConnector:in kanssa - Selaimen asiakas: näyttää sekä webforJ-käyttöliittymän että upotetun Swing-sovelluksen
Webswingin ja webforJ:n on toimittava eri porteilla konfliktien välttämiseksi. Molemmat webforJ ja Webswing toimivat tyypillisesti portilla 8080. Sinun on vaihdettava joko Webswingin portti tai webforJ:n portti.
Webswing-palvelimen asennus
Asennus ja käynnistys
- Lataa Webswing viralliselta verkkosivustolta
- Pura arkisto haluamaasi sijaintiin (esim.
/opt/webswingtaiC:\webswing) - Käynnistä palvelin käyttöjärjestelmäkohtaisilla skripteillä:
- Linux
- macOS
- Windows
webswing.sh
webswing.command
webswing.bat
- Varmista, että palvelin on käynnissä pääsemällä osoitteeseen
http://localhost:8080
Sovelluksen konfigurointi
Kun palvelin on käynnissä, siirry hallintapaneeliin osoitteessa http://localhost:8080/admin lisätäksesi ja konfiguroidaksesi Swing-sovelluksesi.
Hallintapaneelissa määrittele:
- Sovelluksen nimi: tulee osaksi URL-osoitetta (esim.
myapp→http://localhost:8080/myapp/) - Pääluokka: Swing-sovelluksesi pääsylkä
- Classpath: polku sovelluksen JAR:iin ja riippuvuuksiin
- JVM-argumentit: muistiasetukset, järjestelmäominaisuudet ja muut JVM-vaihtoehdot
- Kotihakemisto: sovelluksen työskentelyhakemisto
Konfiguraation jälkeen Swing-sovelluksesi on käytettävissä osoitteessa http://localhost:8080/[app-name]/
CORS-konfigurointi
Kun upotat Webswingin webforJ-sovellukseen, joka toimii eri portilla tai verkkotunnuksessa, sinun on konfiguroitava Cross-Origin Resource Sharing (CORS) Webswingissä. Tämä mahdollistaa selaimen ladata Webswing-sisältöä webforJ-sivultasi.
Webswingin hallintapaneelissa siirry sovelluksesi konfigurointiin ja aseta:
- Sallitut alkuperät: Lisää webforJ-sovelluksesi alkuperä (esim.
http://localhost:8090tai*kehitystä varten)
Tämä asetus vastaa allowedCorsOrigins-vaihtoehtoa Webswingin sovelluksen konfiguraatiossa.
webforJ-integrointi
Kun Webswing-palvelimesi toimii Swing-sovelluksesi kanssa konfiguroituna ja CORS aktivoitu, voit integroida sen webforJ-sovellukseesi.
Lisää riippuvuus
Webswingin integrointi riippuu webforJ:n Webswing-integrointimoduulista, joka tarjoaa WebswingConnector-komponentin ja siihen liittyvät luokat.
Lisää seuraava pom.xml-tiedostoosi:
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-webswing</artifactId>
<version>${webforj.version}</version>
</dependency>
Perusimplementaatio
Luo näkymä, joka upottaa Swing-sovelluksesi käyttäen WebswingConnector🅰️
package com.example.views;
import com.webforj.annotation.Route;
import com.webforj.component.Composite;
import com.webforj.component.html.elements.Div;
import com.webforj.component.webswing.WebswingConnector;
@Route
public class SwingAppView extends Composite<Div> {
private final Div self = getBoundComponent();
private WebswingConnector connector;
public SwingAppView() {
// Alusta liitin Webswing-sovelluksesi URL-osoitteella
connector = new WebswingConnector("http://localhost:8080/myapp/");
// Aseta näyttömitat
connector.setSize("100%", "600px");
// Lisää näkymäastiassa
self.add(connector);
}
}
Liitin luo automaattisesti yhteyden Webswing-palvelimeen, kun se lisätään DOM:iin. Swing-sovelluksen käyttöliittymä renderöidään sitten liitin-komponentissa.
Konfigurointivaihtoehdot
WebswingOptions-luokka mahdollistaa liittimen käyttäytymisen muokkaamisen. Oletusarvoisesti liitin käynnistyy automaattisesti, kun se luodaan, ja käyttää vakioyhteysasetuksia. Voit muuttaa tätä käyttäytymistä luomalla WebswingOptions-instanssin ja soveltamalla sitä liittimeen.
Esimerkiksi, jos haluat piilottaa kirjautumispainikkeen tuotantoympäristössä, jossa hallitset todennusta webforJ-sovelluksesi kautta:
WebswingConnector connector = new WebswingConnector("http://localhost:8080/myapp/");
WebswingOptions options = new WebswingOptions()
.setDisableLogout(true); // Piilota kirjautumispainike
connector.setOptions(options);
Tai jos tarvitset manuaalista kontrollia siitä, milloin yhteys käynnistyy:
// Luo liitin ilman automaattista käynnistystä
WebswingConnector connector = new WebswingConnector(url, false);
// Konfiguroi ja käynnistä, kun olet valmis
WebswingOptions options = new WebswingOptions();
connector.setOptions(options);
connector.start();
Vaihtoehdot kattavat yhteydenhallinnan, todennuksen, virheenkorjauksen ja valvonnan.