Diskuze: JavaFX canvas
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Canvas musis rucne pridat v kontroleru na nejakej pane/box.
No mně jde právě o to přidání, scrollPane.getChildren().add(canvas) nefunguje.
A pridavas to v kontroleru pres JavaFX vlakno pomoci tridy Platform?
Podařilo se mi to přidat do VBoxu, do ScrollPane to prostě nejde, což opravdu nechápu. Jak to přidávám jsem tu psal už 2x.
Stejně mi ta JavaFX přijde nedovařená a to je to už 2. verze, není tam ani MessageBox, což mě dost zaráží.
Canvas je hlavne urceny na neco jineho nez delani GUI pres FXML. Je to plocha
urcena k vykreslovani setjne jako v HTML5 s trochu jinymi zakonitostmi. Cili to
Canvas API nepouzivas ve spravnem kontextu (to bude tim ze prechazis ze
Swingu?)
Pokud potrebujes v JavaFX kreslit at uz "controls" nebo graficky primitiva, tak
nepotrebujes Canvas. Pro graficky primitiva se pouziva Group a pro controls jsou
layout manazery.
MessageBox se da udelat pres Scene nebo Stage (nevim, za celou dobu jsem to
nepotreboval ale jde to).
Jenže já dělám level editor a potřebuji jak klasická tlačítka, tak
canvas ve ScrollPane, do kterého se kreslí výsledný level
Že jsi nikdy nepotřeboval
MessageBox je zvláštní, používám na něj knihovnu třetí strany, ale je
ostuda, že to tam nemají.
To je spis otazka toho jak a jake tam nacpat layout manazery nez o pouziti
Canvas API. Tlacitka muzes nacpat do GridPane, a na samotnou mapu se ti hodi
TilePane, pripadne StackPane (do nej muzes nacpat kolik vrstev chces a pak je
prochazet napriklad pomoci udalosti mysi - kliknutim nebo koleckem).
Podivej se na tohle video:
http://www.youtube.com/watch?…
Vsimni si ze tam mam v pohode kombinaci "controls" i grafickych primitiv bez
pouziti Canvas API.
Tady je kod:
public class HoverBar extends FlowPane {
public HoverBar() {
super();
this.setStyle("-fx-background-color: gray;");
this.setPickOnBounds(true);
this.setOpacity(0);
setOnMouseEntered (new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent meEntered) {
if (isHover()) {
setOpacity(1);
}
}
});
setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent meExited) {
if (!isHover()) {
setOpacity(0);
}
}
});
}
}
Je to docela obycejna podtrida FlowPane do ktere muzes nacpat jakykoliv GUI prvek nebo graficky primitiva prave diky tomu ze v JavaFX snad vsechno co vidis dedi od Node. Ten HoverBar je pak nacpany do Group ktera je korenem grafu sceny v tom demu.
Zobrazeno 9 zpráv z 9.
