Sovelluksen merkinnät 26.01
webforJ tarjoaa kaksi täydentävää merkki-APIa. App.setBadge maalaa käyttöjärjestelmän sovellusikonin, joka näkyy dokeissa, tehtäväpalkissa tai aloitusnäytöllä. Page.setIconBadge maalaa asiakirjan faviconin, joka näkyy selaimen välilehtirivillä. Ne kohdistavat eri pinnoille ja niillä on erilaiset vaatimukset, joten useimmat sovellukset kutsuvat molempia laajimman näkyvyyden saavuttamiseksi.
Sovelluksen kuvakebadge
App.setBadge renderoi merkin sovelluksen käytössä olevan kuvakkeen päälle: macOS-dokissa, Windowsin tehtäväpalkissa, Chrome OS:ssä tai Androidin aloitusnäytöllä.

Ehdot
Merkki on näkyvissä vain, kun kaikki seuraavat asiat ovat totta:
- Selain tukee merkkien piirtämistä sovelluskuvakkeille.
- Sivusto tarjoillaan turvallisesta kontekstista (HTTPS tai
http://localhostkehityksen aikana). Tavalliset HTTP-alkuperät hylkäävät kutsun. - Sovellus on asennettu laitteelle. Asennusprosessi vaihtelee selaimen mukaan: Chromium-selaimet tarjoavat asennuskehotteen kaikille sivuille, joilla on manifesti, Safari macOS:ssä käyttää Tiedosto → Lisää Dockiin, ja Safari iOS:ssä käyttää Jaa → Lisää aloitusnäytölle.
Jotta sovellus olisi asennettavissa Spring Bootin tai itsenäisen webforJ-palvelimen alla, lisää App-alamalliin AppProfile. Annotaatioprosessori luo manifestin, sovelluskuvaketunnisteet ja metatiedot, joita selain tarvitsee tarjotakseen asennuskehotteen.
@AppProfile(name = "Inbox", shortName = "Inbox")
public class Application extends App {}
Katso Asennettavat sovellukset -sivulta täydellinen luettelo @AppProfile-jäsenistä, kuvakkeen koosta ja alustakohtaisista ohjeista asennusprosessissa.
Selaintuki
Asennuksen jälkeen merkin renderointi riippuu selaimesta. Asennustuki käsitellään Asennettavat sovellukset -sivulla.
| Selaimen nimi | Merkki asennuksen jälkeen |
|---|---|
| Chrome, Edge, Opera ja muut Chromium-selaimet (työpöytä ja Android) | Kyllä |
| Safari macOS Sononassa (Safari 17) ja myöhemmin | Kyllä |
| Safari iOS 16.4 ja myöhemmin | Kyllä |
| Firefox (kaikki alustat) | Ei. Kutsu palauttaa ilman renderointia. |
Merkin asettaminen ja tyhjentäminen
Anna positiivinen kokonaisluku näyttääksesi numeerisen merkin. Anna null tai 0 tyhjentääksesi sen. Kutsu ilman argumentteja näyttääksesi lipun indikaattorin (pieni piste, tarkka visuaalinen ilme on alustoittain määritetty).
App.setBadge(5); // numeerinen merkki
App.setBadge(); // lipun indikaattori ilman numeroa
App.setBadge(0); // tyhjennä
App.setBadge(null); // tyhjennä
App.setBadge palauttaa välittömästi. Selain kirjoittaa merkin käyttöjärjestelmän pintaan asynkronisesti, eikä muutosta raportoida takaisin sovellukseen.
Selaimen välilehden kuvakebadge
Page.setIconBadge maalaa laskurin asiakirjan faviconin päälle. Se toimii missä tahansa välilehdessä ilman asennusta eikä vaadi manifestia. Merkki on näkyvissä selaimen välilehtirivillä ja muissa kohteissa, jotka renderöivät faviconin, kuten kirjanmerkit tai äskettäin katsotut sivut.
![]()
Merkin asettaminen ja tyhjentäminen
Page page = Page.getCurrent();
page.setIconBadge(5); // numeerinen merkki
page.setIconBadge(); // lipun indikaattori ilman numeroa
page.setIconBadge(0); // tyhjennä
page.setIconBadge(null); // tyhjennä
Merkin tyhjentäminen palauttaa alkuperäisen faviconin.
BBjServicesKun sovellus tarjoillaan BBjServices:llä, favicon on Pikanäppäimen kuva, joka on määritetty sovellukselle Enterprise Managerissa. Merkki maalataan mille tahansa kuvakkeelle, jonka Enterprise Manager tarjoaa. Jos pikakuvaketta ei ole määritetty, Page.setIconBadge ei overlayaa faviconia ja ei tee mitään hiljaa.
Merkin tyylittely
Anna IconBadgeOptions säätääksesi väriä, muotoa ja kokoa:
IconBadgeOptions options = new IconBadgeOptions()
.setColor(new Color(0x2e, 0x7d, 0x32))
.setShape(IconBadgeOptions.Shape.SQUARE)
.setSize(1.25);
Page.getCurrent().setIconBadge(5, options);
Options-objekti on arvon säilyttäjä. Kaikki asettajat palauttavat this, joten kutsuja voidaan ketjuttaa.
| Vaihtoehto | Tyyppi | Oletus | Huomautukset |
|---|---|---|---|
color | java.awt.Color | #e53935 | Merkin taustaväri. Tekstin väri johdetaan automaattisesti kontrastista, jotta numerot pysyvät luettavina valitussa värissä. |
shape | Shape | CIRCLE | CIRCLE tai SQUARE. |
size | double | 1.0 | Suhde. 0.5 on puoli oletusläpimittaa; 1.5 on 50% suurempi. Merkki rajataan sopimaan favicon-kankaan sisälle. |
Selaimen varoitus
Safari ei päivitä faviconia ensimmäisen sivun lataamisen jälkeen. Kutsut Page.setIconBadge valmistuvat ilman virhettä, mutta Safari jatkaa alkuperäisen kuvakkeen näyttämistä. Käytä Page.setTitle -metodia myös lisätäksesi laskurin asiakirjan otsikkoon, jos tarvitset näkyvän vihjeen Safarissa.
int unread = 5;
Page page = Page.getCurrent();
page.setIconBadge(unread);
page.setTitle("(" + unread + ") Inbox");
Valinta kahden välillä
| Pinta | API | Vaatii asennuksen | Näkyy Safarissa |
|---|---|---|---|
| Käyttöjärjestelmän sovelluskuvake | App.setBadge | Kyllä | Kyllä (macOS Sonoma / iOS 16.4 ja myöhemmin) |
| Selaimen välilehden favicon | Page.setIconBadge | Ei | Ei. Kutsu valmistuu ilman virhettä, mutta välilehtirivi ei päivity. |
Useimmat sovellukset kutsuvat molempia, jotta merkki olisi näkyvissä riippumatta siitä, onko käyttäjä asennetussa ikkunassa vai tavallisessa selaimen välilehdessä.