Käyttöliittymäkomponentit
Yritysnäytön jokainen osa, Valmis Javassa.
webforJ on full-stack Java-kehys yritysten verkkosovelluksiin: rakennat koko sovelluksen näyttöineen Java-kielellä. Sen komponentit kattavat asettelun, tietojen syöttämisen, valintaikkunat, tietojen näyttämisen ja palautteen. Jokainen komponentti on Java-luokka, jonka luot, määrität ja lisäät asetteluun.
- Komponentit galleriassa
- 57
- Tyypitetyt HTML-elementit
- 29
- Sisäänrakennetut teemat
- 3
- Ryhmät tarkoituksen mukaan
- 5
Tarkoituksen mukaan
Valitse ryhmä ja sitten komponentti. Jokainen ruutu avaa komponentin oman sivun dokumentaatiossa.
Asettelu
Näytön rakenne: sovelluskehykset, työkalurivit, flex- ja sarakeasettelut, jaetut paneelit ja pinnat.
8 komponenttia

AppLayoutJäsennelty asettelu sovelluksen päätason navigoinnille ja sisällölle.
FlexLayoutJärjestää lapsielementit flexbox-sääntöjen avulla responsiivista kohdistusta varten.
ColumnsLayoutJärjestää alielementit sarakkeisiin; sopii lomakkeisiin ja ruudukkorakenteisiin.
ToolbarVaakasuuntainen säilö toimintopainikkeille, kuvakkeille ja muille ohjauskomponenteille.
SplitterJakaa tilan kahden komponentin kesken, joiden kokoa käyttäjät voivat muuttaa vetämällä.
AccordionPinottu joukko avattavia ja suljettavia paneeleja, joiden otsakkeita voi napsauttaa.
CardPinta, jossa on alueet medialle, otsakkeille, sisällölle ja alatunnisteille.
DialogModaali-ikkuna, joka peittää sisällön ja kehottaa käyttäjää toimimaan.
Lomakkeet ja syötekentät
Kaikki käyttäjän kirjoittama, valitsema tai lataama – teksteistä ja numeroista päivämääriin, syöttömaskeihin, listoihin ja tiedostoihin.
20 komponenttia

TextFieldYksirivinen tekstikenttä tekstin syöttämiseen ja muokkaamiseen.
MaskedTextFieldRajoittaa tekstin tiettyyn muotoon, kuten puhelinnumeroon.
NumberFieldNumeerinen kenttä, jonka arvoa voi kasvattaa tai pienentää säätimillä.
MaskedNumberFieldPakottaa numeerisen muotoilun, kuten valuutan tai prosenttiosuuden.
PasswordFieldYksirivinen syötekenttä, joka piilottaa salasanan.
DateFieldSelaimessa toimiva päivämäärävalitsin syöttökentässä.
MaskedDateFieldPäivämääräkenttä, joka noudattaa määritettyä päivämäärämuotoa.
TimeFieldSelaimessa toimiva ajanvalitsin syöttökentässä.
MaskedTimeFieldAikakenttä, joka edellyttää määritettyä aikamuotoa.
DateTimeFieldValitsee päivämäärän ja kellonajan yhdessä syöttökentässä.
ColorFieldSelaimessa toimiva värivalitsin syöttökentässä.
TextAreaMonirivinen syöttökenttä suuremmille tekstimäärille.
CheckBoxBinäärinen valinta, joka vaihtaa valitun ja valitsemattoman tilan välillä.
RadioButtonValitsee yhden vaihtoehdon toisensa poissulkevien vaihtoehtojen joukosta.
SwitchVaihtaa kahden tilan, kuten päällä ja pois päältä, välillä liu’uttamalla.
ChoiceBoxAvattava luettelo ennalta määritetyistä vaihtoehdoista.
ComboBoxPudotusvalikko yhdistettynä muokattavaan tekstikenttään.
ListBoxVieritettävä luettelo yhden tai useamman kohteen valintaan.
SliderValitsee arvon alueelta vetämällä kahvaa liukupalkkia pitkin.
UploadUpotettu tiedostonvalitsin, jossa on vedä ja pudota -toiminto, suodattimet ja tiedostokohtaiset tapahtumat.
Data ja sisältö
Näytä tietueita, hierarkioita, kaavioita ja suoratoistettua tekstiä sekä lataa lisää vieritettäessä.
8 komponenttia

GoogleChartsKaaviot ja visuaaliset dataesitykset Google Chartsilla.
TreeHierarkkista tietoa, jota käyttäjät voivat laajentaa, supistaa ja käsitellä.
InfiniteScrollLataa lisää kohteita vieritettäessä ja tunnistaa, kun kaikki sisältö on ladattu.
RefresherVedä päivittääksesi vieritettävissä säilöissä.
MarkdownViewerNäyttää Markdown-sisällön vaiheittain – sopii erinomaisesti tekoälykeskusteluihin ja suoratoistettavaan tekstiin.
TerminalSovelluksen sisäinen komentorivikäyttöliittymä tekstikomennoille.
AvatarProfiilikuvia tai nimikirjaimia eri kokoisina, muotoisina ja teemoina.
BadgePieni tunniste lukumäärille, tiloille tai lyhyille metatiedoille.
Palaute ja valintaikkunat
Kerro käyttäjille, mitä tapahtuu, pyydä heitä vahvistamaan ja kerää arvo, tiedosto tai kirjautumistiedot.
12 komponenttia

ToastIlmoitus, joka ei estä käyttöä ja katoaa itsestään.
AlertTärkeät viestit tai varoitukset näkyvästi.
DesktopNotificationMukautetut työpöytäilmoitukset selaimen Notification API:n avulla.
ProgressBarPalkki, joka täyttyy tehtävän edetessä.
BusyIndicatorSovelluksenlaajuinen ilmaisin käynnissä olevasta yleisestä prosessista.
LoadingYhteen yläkomponenttiin rajattu latausilmaisin.
SpinnerPyörivä animaatio, joka ilmaisee toiminnon olevan käynnissä.
MessageDialogIlmoitus, jonka käyttäjä kuittaa painamalla OK.
ConfirmDialogPyytää käyttäjää vahvistamaan tai peruuttamaan toiminnon.
InputDialogPyytää käyttäjää antamaan arvon valitsemalla OK tai Peruuta.
FileUploadDialogLataa tiedostoja paikallisesta tiedostojärjestelmästä sovellukseen.
LoginValmiiksi rakennettu kirjautumisnäkymä käyttäjätunnukselle, salasanalle ja lähetyspainikkeelle.
Koostumus
Omat komponenttisi, Rakennettu omiemme pohjalta.
webforJ käyttää koostamista periytymisen sijaan. Et peri Button-komponenttia. Kirjoitat luokan, joka laajentaa Composite-komponenttia, yhdistät siihen komponentteja ja päätät, mitkä metodit muu sovelluksesi voi nähdä.
public class SearchBar extends Composite<FlexLayout> {
private final FlexLayout self = getBoundComponent();
private TextField searchField;
private Button searchButton;
public SearchBar() {
searchField = new TextField("Search");
searchButton = new Button("Go");
self.setDirection(FlexDirection.ROW)
.add(searchField, searchButton);
}
}
Yksi luokka, yksi yksikkö.
Compositekapseloi yhden sidotun komponentin ja sen sisäisen rakenteen, joten hakupalkista, osoitelomakkeesta tai kokonaisesta koontinäyttökortista tulee uudelleenkäytettävä luokka.Valitset API:n.
Kutsujat näkevät vain esiin tuomasi metodit, toisin kuin perinnässä, jossa kaikki on näkyvissä.
Sisäänrakennetut komponentit säilyvät ennallaan.
Sisäänrakennetut komponentit ovat final, joten niiden alla oleva verkkokomponentti pysyy yhtenäisenä ja ennakoitavana. Oma logiikkasi sijoittuu niiden ympärille, ei niiden sisään.
Joukon ulkopuolella
Eikö kuulu joukkoon? Käytä mitä tahansa komponenttia verkossa.
Liiketoimintakomponentit ovat lähtökohta, eivät päätepiste. Jokainen HTML-elementti on Java-luokka, ja mistä tahansa web-komponentista voi tulla sellainen.
- 29 HTML-elementtiä
Itse sivu kirjoitettuna
webforJ tarjoaa tyypitetyllä Java-rajapinnalla komponentteja, jotka vastaavat suoraan HTML:n vakioelementtejä, kuten Div-, Paragraph-, otsikko-, luettelo-, Img- ja Anchor-elementtejä.
HTML-komponentit - Web components
Mikä tahansa web-komponentti käärittynä
ElementComposite kapseloi mukautetun HTML-elementin tai kolmannen osapuolen verkkokomponentin ja tuo sen ominaisuudet, attribuutit ja tapahtumat käytettäviksi Java API:n kautta.
Yhdistelmäelementti - npm-paketit
npm-rekisteri Javasta käsin
Frontend-bundleri muuntaa luokan annotaatiot käännetyiksi frontend-resursseiksi, joten komponentti voi tuoda mukanaan tarvitsemansa npm-paketin.
Frontend-paketointityökalu
Suunnittelujärjestelmäsi
Onko sinulla oma suunnittelujärjestelmä? Ota se mukaan.
webforJ-komponentit ovat vaihtoehto, eivät vaatimus. Jos suunnittelujärjestelmäsi toimitetaan web-komponentteina, teet niille kääreen kerran ja rakennat koko sovelluksen niiden avulla Javalla.
- 01
Kääri komponentit
ElementCompositemuuntaa jokaisen mukautetun elementin Java-luokaksi ja tuo sen ominaisuudet, attribuutit ja tapahtumat saataville Java API:n kautta. - 02
Toimita ne yhtenä moduulina.
Frontend-bundleri antaa luokan määrittää tarvitsemansa npm-paketit, joten wrapperit kuljettavat suunnittelujärjestelmänsä mukanaan. Sovelluksen tarvitsee lisätä vain riippuvuus.
- 03
Rakenna sovellus tavalliseen tapaan
Reititys, tietoturva ja tietojen sidonta toimivat samalla tavalla. Kääritty komponentti, joka toteuttaa
ValueAware, sitoutuu malliin kuten mikä tahansa sisäänrakennettu kenttä.
Näyttösi säilyttävät yrityksesi jo suunnitteleman ilmeen. Taustalla on edelleen webforJ.
Käytetään Javasta
Komponentti on olio luot koodilla new.
Asetat sen tilan tyypitetyillä metodeilla, kuuntelet sen tapahtumia lambdoilla ja lisäät sen konttiin. Näyttö on Java-koodia, eikä synkronoitavaa mallipohjaa ole.
FlexLayout container = new FlexLayout();
container.add(new Button("Click Me"));
TextField nameField = new TextField("Name");
TextField emailField = new TextField("Email");
Button submitButton = new Button("Submit");
container.add(nameField, emailField, submitButton);
// Reveal an additional field when a checkbox is checked
TextField advancedField = new TextField("Advanced setting");
advancedField.setVisible(false);
CheckBox enableAdvanced = new CheckBox("Show advanced settings");
enableAdvanced.addValueChangeListener(e -> advancedField.setVisible(e.getValue()));
// Enable a button only when the required field has a value
Button submitButton = new Button("Submit");
submitButton.setEnabled(false);
TextField nameField = new TextField("Name");
nameField.addValueChangeListener(e -> submitButton.setEnabled(!e.getValue().isBlank()));
Teeman mukauttaminen
Yksi suunnittelujärjestelmä jokaisen komponentin takana.
webforJ sisältää DWC-nimisen suunnittelujärjestelmän. Sen CSS-muuttujat eli design-tokenit määrittävät värit, typografian, reunukset ja välit, ja kaikki komponentit käyttävät niitä. Kun muutat tokenia, kaikki sitä käyttävät komponentit päivittyvät.
Sama kenttä, painikkeet, kytkin, merkki ja edistymispalkki vaaleassa teemassa.
lightOletus. Vaalea tausta, hienovarainen päävärin sävy.Sama kenttä, painikkeet, kytkin, merkki ja edistymispalkki tummassa teemassa.
darkTumma tausta, hienovarainen päävärisävy.Kolme sisäänrakennettua teemaa
light, dark ja dark-pure, joka poistaa pääsävyn ja käyttää puhtaita neutraaleja harmaan sävyjä. Vaihda teemaa ajon aikana komennolla App.setTheme() ilman uudelleenkoontia.
Käyttöjärjestelmän mukainen
Rekisteröi vaalea ja tumma teema ja välitä "system". webforJ valitsee käyttäjän asetusta vastaavan teeman ja vaihtaa teemaa, kun asetus muuttuu.
@AppTheme("system")
@AppLightTheme("light")
@AppDarkTheme("dark")
class MyApp extends App {
// app code
}
Uudista brändi muutamalla tokenilla
Ylikirjoita sisäänrakennettujen teemojen seed-tokenit, niin kaikki komponentit saavat uuden ilmeen. Shadow part -osilla pääset komponentin sisään, kun token ei riitä.
:root {
--dwc-color-primary-seed: #6366f1;
--dwc-font-size: var(--dwc-font-size-l);
}
Galleria
Avaa galleria ja katso kaikki 57.
Dokumentaation galleriassa esitellään kaikki komponentit esikatseluineen ja lyhyine kuvauksineen samoissa neljässä osiossa kuin dokumentaatiossa.









