FXML, CSS RICHARD LIPKA

Rozměr: px
Začít zobrazení ze stránky:

Download "FXML, CSS RICHARD LIPKA"

Transkript

1 FXML, CSS RICHARD LIPKA

2 Novinky v JavaFX PreferenecssFX Podpora pro dialogy s nastavením aplikace (Eclipse-like, se stromem a hledáním na levé straně) Automatická tvorba vstupních prvků pro nastavení 3D grafika v JavaFX Jednoduchý prohlížeč 3D Demo které vzniklo pro OpenJDK UUR - FXML, CSS 2

3 XML (EXtensible Markup Language) Standardizovaný značkovací jazyk Zjednodušená podoba SGML Typicky pro serializaci dat (podobně jako JSON, YAML) Lze definovat vlastní značky (tagy) <znacka> </znacka> a atributy <znacka atribut= hodnota > </znacka> Značky se mohou vnořovat <znacka> <vnorena_znacka> </vnorena_znacka> <znacka> Jeden kořenový element, elementy se nesmí překrývat Stromová struktura, snadné zpracování obecnými nástroji UUR - FXML, CSS 3

4 FXML XML soubor s definicí GUI Mapován přímo na volání z API vznikají všechny očekávané instance se kterými je možné manipulovat z Javy MVC Model: doménové objekty, JavaBeany, Propety View: FXML s definicí okna Controller: běžná Java ve které je vytvořena obsluha Hodí se pro Rychlý prototyping (nástroje pro WYSIWYG tvrobu) Složitá okna s velkými grafy scény Statické layouty formulářů + JavaScript lze tvořit i dynamické formuláře, manipulovat s prvky grafu přímo z FXML UUR - FXML, CSS 4

5 Struktura FXML aplikace Zbytek aplikace Application.class Práce s modelem a GUI Controller.class Controller.class Controller.class Přistupuje/ zobrazuje Datový model Model.class načítá ovládá View.FXML View.FXML View.FXML Topologie GUI - View vzhled Style_1.CSS Style_2.CSS UUR - FXML, CSS 5

6 Ukázka FXML <?import javafx.scene.layout.borderpane?> <?import javafx.scene.control.label?> <BorderPane> <top> <Label text="page Title"/> </top> <center> <Label text="some data here"/> </center> </BorderPane> UUR - FXML, CSS 6

7 Hlavní výhody FXML Nutí k oddělení View od Controlleru Nemůžu nijak snadno vložit obsluhy přímo do View Viditelný graf scény Nemusím prohledávat třídy a metody které ho tvoří, vidím vše najednou XML jazyk Jednoduchý, snadno editovatelný (ručně i WYSIWYG), bez potřeby překládat snazší ladění (změny FXML se projeví i bez překladu zbytku aplikace pokud nezpůsobí chybu) Podpora lokalizace při načítání Textová data (popisky tlačítek, dialogů, ) se načítají při načítání XML při změně jazyka stačí znovu načíst FXML soubor Vzhled (odkaz na CSS) může být nastaven ve FXML souboru Použitelný ve všech jazycích založených nad JVM Scala, Clojure, Kotlin UUR - FXML, CSS 7

8 Nevýhody FXML Menší kontrola nad aplikací JavaFX sestavuje aplikaci sama je těžší ovlivnit co se děje Občas neprůhledné nastavování parametrů Scene Builder generuje parametry které mohou způsobit divné chování Např. prefwidth= -1 vypočtená velikost, ale znemožní automatický resize sloupců Rozdělení projektu do mnoha souborů Problém pro začátečníky a lidi kteří mají chaos ve zdrojových textech Omezená nápověda XML nemá skutečné datové typy, je těžké odhadovat co lze kdy nastavit ne všechno co napoví Eclipse / IntelliJ bude i fungovat UUR - FXML, CSS 8

9 Struktura Záhlaví standartní XML, důležité je kódování <?xml version="1.0" encoding="utf-8"?> Importy všechny třídy které jsou využity (jako v Javě) <?import javafx.scene.layout.borderpane?> Graf scény Jeden soubor jeden graf pro každé okno vlastní FXML (ve skutečnosti pro každý Node jde udělat FXML aplikaci z něj lze složit jako z fragmentů) Složen z hierarchicky strukturovaných tříd, tak jak by byl poskládán v Javě Obecná konvence Třídy jako v Javě (velké písmeno na začátku), každá instance jako jeden element Nastavení property malým písmenem (atribut nebo setter) UUR - FXML, CSS 9

10 Tvorba objektů I Vytvoření nové instance Volání konstruktoru bez parametrů + nastavení Property přes setter Tvorba tlačítka: <Button mnemonicparsing="false" onaction="#removeitem prefheight="25.0" prefwidth="80.0" text="remove" GridPane.columnIndex="4 GridPane.halignment="CENTER" fx:id="addbt" /> Každý atribut odpovídá příslušnému setteru vznikne 1 instance třídy Button každý atribut se přeloží jako volání (pozor na typ!) Button addbt = new Button(); addbt.setmnemonicparsing(false); addbt.setprefheight(25.0); addbt.settext("remove"); UUR - FXML, CSS 10

11 Tvorba objektů II Property lze nastavovat i jako samostatné značky Totéž jako předchozí příklad, jen jiný (delší zápis) Užitečné pokud Property není primitivní typ, ale třída <GridPane hgap="3.0" vgap="3.0" fx:id="pane"> <padding> <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" /> </padding> </GridPane> Přeloží se podobně, ale uvnitř značky může být konstrukce další třídy GridPane pane = new GridPane(); pane.setpadding(new Insets(5)); UUR - FXML, CSS 11

12 Skládání grafu potomků Uložení potomků v grafu Uložení v kolekci dětí (getchildren()) FXML ji umí naplnit jako kdyby existovala property children (podobně fungují sloupce tabulky) Vložení potomků: <GridPane hgap="3.0" vgap="3.0"> <children> <Label text="name:" GridPane.rowIndex="1" /> <Label text="trip date" GridPane.columnIndex="1 GridPane.rowIndex="1" /> <Label text="trip:" GridPane.columnIndex="2 GridPane.columnSpan="2" /> <TextField fx:id="fromtf" GridPane.columnIndex="2" GridPane.rowIndex="2" /> <TextField fx:id="totf" GridPane.columnIndex="3 GridPane.rowIndex="2" /> </children> </GridPane> UUR - FXML, CSS 12

13 Využití property pro skládání grafu Uložení potomků v grafu Uložení ve vlastních Property (BorderLayout.setCenter()) lze naplnit přes setter Vložení panelů do BorderPane: <BorderPane> <top> <MenuBar> </MenuBar> </top> <center> <TableView > </TableView> </center> <right> <TextArea> </TextArea> </right> <bottom> <GridPane </GridPane> </bottom> </BorderPane> UUR - FXML, CSS 13

14 Tvorba jednoduchých property Lze vytvářet instance primitivních datových typů (stejně jako jiných objektů) využití fx:value <String fx:value="hello, World!"/> <Double fx:value="1.0"/> <Boolean fx:value="false"/> Property lze vkládat do kolekce získané přes její továrnu využití fx:factory pro třídy které nemají defaultní konstruktor <FXCollections fx:factory="observablearraylist"> <String fx:value="a"/> <String fx:value="b"/> <String fx:value="c"/> </FXCollections> UUR - FXML, CSS 14

15 Využití property pro naplnění kolekcí Např. naplnění seznamů, výběrových seznamů a podobně <ListView> <items> <FXCollections fx:factory="observablearraylist"> <String fx:value="a"/> <String fx:value="b"/> <String fx:value="c"/> </FXCollections> </items> </ListView> UUR - FXML, CSS 15

16 Volání statických metod Hodí se zejména u layoutů Nastavení pozice v layoutu, zarovnání a podobně Podobné jako settery staticky nastavené property <GridPane hgap="3.0" vgap="3.0"> <children> <Label text="trip:" GridPane.columnIndex="2" GridPane.columnSpan="2" fx:id="label" /> </children> </GridPane> Přeloží se jako GridPane pane = new GridPane(); Label label = new Label(); label.settext(); GridPane.setColumnIndex(label, 2); GridPane.setColumnSpan(label, 2); pane.getchildren.add(label); UUR - FXML, CSS 16

17 Načtení dalších XML Hodí se při opakovaném užívání nějaké části XML Využívá fx:include <VBox xmlns:fx=" <children> <fx:include source="my_button.fxml"/> </children> </VBox> Vloží na místo fx:include obsah souboru (nahradí fx:include značku obsahem, přidá potřebné importy) Cesta relativní k souboru kde je použit (když začne / bude relativní ke classpath) UUR - FXML, CSS 17

18 Provázání s Javou Načtení FXML přes resources FXMLLoader.load(getClass().getResource("experiment1.fxml")); Metoda typovaná na obecný objekt, vrací třídu odpovídající kořenovému grafu v souboru Typická tvorba okna: public void start(stage primarystage) throws Exception { primarystage.settitle("fxml TableView Example"); Pane mypane = (Pane)FXMLLoader.load (getclass().getresource("window.fxml")); Scene myscene = new Scene(myPane); primarystage.setscene(myscene); primarystage.show(); } UUR - FXML, CSS 18

19 Nastavení obsluh Obsluhy je třeba napsat v Javě Každou obsluhu zajišťuje Controller K jednomu FXML může být přiřazen jeden nebo více Controllerů Určení Controlleru Uvnitř FXML elementu, pokud je jeden - obvykle v kořeni <BorderPane prefheight="437.0" prefwidth="659.0 xmlns=" xmlns:fx=" fx:controller="package.myfxmlcontroller"> fx:controller definuje třídu, která bude obsahovat obsluhy Uvnitř Controlleru lze získat reference na všechny entity z FXML Při načtení FXML UUR - FXML, CSS 19

20 Získání reference na entitu Je nutné nastavit textový identifikátor elementu fx:id="myelement" pokud ho nenastavím, lze získat referenci jen analýzou potomků Jméno reference musí odpovídat id ve FXML dokumentu a musí být označen loader zajistí nastavení reference Podpora v IDE detekuje jestli existují odpovídající entity FXML: <DatePicker fx:id="datedp" /> <TextField fx:id="nametf" /> private TextField private DatePicker datedp; UUR - FXML, CSS 20

21 Nastavení obsluhy Metoda obsluhy musí být definována v Controlleru tohoto nebo nadřazeného elementu Ve FXML jako normální setter, před jménem metody # V Javě metoda s odpovídajícím jménem která by byla uvnitř handleru Bez parametru nebo s odpovídající událostí FXML: <Button fx:id="addbt" onaction="#additem" /> private TableView<Data> public void additem(actionevent event) { table.getitems().add(new Data()); } UUR - FXML, CSS 21

22 Nastavení obsluhy s JavaScriptem Obsluha může být přímo v FXML dokumentu Pak se ale narušuje MVC model Lze využít JavaScript JRE mu rozumí a umí ho interpretovat Do deklarace přidat: <?language javascript?> Do obsluhy lze vložit samotný JavaScript: <VBox> <children> <Button text="click Me!" onaction="java.lang.system.out.println('message');"/> </children> </VBox> UUR - FXML, CSS 22

23 Vlastní třídy buňky a továrny Nezbytné pro složené objekty tabulky, seznamy, Továrna na buňky je Property nastavena setterem: <TableView fx:id="triptv" editable="true"> <columns> <TableColumn text="name" oneditcommit="#commitname"> <cellvaluefactory> <PropertyValueFactory property="name"/> </cellvaluefactory> <cellfactory> <TextFieldFactory /> </cellfactory> </TableColumn> <TableColumn prefwidth="75.0" text="trip date" /> <TableColumn prefwidth="75.0" text="trip" /> </columns> </TableView> UUR - FXML, CSS 23

24 Vlastní třídy získání hodnoty <TableColumn text="name" oneditcommit="#commitname"> <cellvaluefactory> <PropertyValueFactory property="name"/> </cellvaluefactory> Vytvoří už známou továrnu pro tvorbu Property ze zadaného atributu - odpovídá volání namecolumn.setcellvaluefactory (new PropertyValueFactory<Person, String>("name")); UUR - FXML, CSS 24

25 Vlastní třídy tvorba buňky <?import package.textfieldfactory?> <TableColumn text="name" oneditcommit="#commitname"> <cellfactory> <TextFieldFactory /> </cellfactory> Musí existovat odpovídající továrna importovaná do FXML Buňka vytvářená ve factory v FXML není nijak vidět (pokud nemá svou statickou továrnu) public class TextFieldFactory <Person, String> implements Callback<TableColumn<Person, String>, TextFieldCell> { } public TextFieldCell call(tablecolumn<person, String> param) { return new TextFieldCell(); } UUR - FXML, CSS 25

26 Odbočka 1- Novinky v JavaFX ( ) RichTextFX Editor formátovaného textu (náhrada za HTMLEditor) Podpora zvýrazňování syntaxe Podpora CSS pro obsah text uvnitř (včetně pěkné dokumentace o tom jak ji udělat) Využit v řadě aplikací (Kappa IDE, BlueJ, ) UndoFX Podora pro undo/redo operace v JavaFX Snadná implementace pro každou property umí je sledovat Založen na ReactFX Framework pro reaktivní programování (obecně víc bindingu) GraphStream Knihovna pro zobrazení grafů Rozhraní pro JavaFX a Swing UUR - FXML, CSS 26

27 Odbočka 2 Java a String String v Javě vždy neměnný (immutable) zjednodušuje a urychluje práci VM Platí pro objekty obsah řetězce, ne pro reference ty mohou ukazovat pokaždé jinam Všechny metody a operátory vždy vytváří nový objekt Existuje String Pool oblast paměti kde se řetězce vytvářejí, pevně daná hashmapa Stringové literály (literal = literal ;) jsou v něm automaticky normální objekty vytvářeny v heapu, ale mohou být přesunuty do String Poolu ručně (metoda String.intern()) Časově náročné metoda musí spravovat kolekci unikátních řetězců a hledat v ní Pokud je String získán jako parametr metody, není poznat kde je uložen String vždy chápat jako objekt, ne jako primitivní typ, pokud si nejsem jistý že vím co dělám (optimalizace rychlosti) Pro porovnání existuje řada metod (compareto(), comparetoignorecase(), equalsignorecase(), ) UUR - FXML, CSS 27

28 Odbočka 2 Java a String public boolean equals(object anobject) { } if (this == anobject) { return true; } if (anobject instanceof String) { String anotherstring = (String)anObject; int n = value.length; if (n == anotherstring.value.length) { char v1[] = value; char v2[] = anotherstring.value; int i = 0; while (n--!= 0) { if (v1[i]!= v2[i]) return false; i++; } return true; } } return false; UUR - FXML, CSS 28

29 Odbočka 2 Java a String String a = "a"; String b = "a"; System.out.println(a == b); System.out.println(a.equals(b)); true true a b Heap "a" String Pool UUR - FXML, CSS 29

30 Odbočka 2 Java a String String a = new String("a"); String b = "a"; System.out.println(a == b); System.out.println(a.equals(b)); false true a b Heap "a" "a" String Pool UUR - FXML, CSS 30

31 Odbočka 2 Java a String String a = new String("a"); String b = "a"; System.out.println(a == b); System.out.println(a.equals(b)); a = a.intern(); true a b Heap "a" true "a" String Pool UUR - FXML, CSS 31

32 String Pool a GC Do Java 6 umístěn v PermGen oblasti paměti žádná garbage kolekce Potenciální zdroj memory leaků na starších JVM Nejde je odstranit, jen změnit velikost PermGen aby stačila Od Java 7 umístěn v heapu GC funguje Internalizovaný String je pořád objekt jako každý jiný Stringové literály (literal = literal ;) mají (téměř pozor na dynamické classloadery) vždy implicitní referenci nikdy nejsou odstraněny během GC Od Java 8 (8u20) je v G1 GC String Deduplication (od Java 9 defaultní GC) Protože pole znaků ve Stringu nelze měnit, mělo by být bezpečné ho sdílet i v rámci heapu -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+PrintStringDeduplicationStatistics -XX:StringDeduplicationAgeThreshold=3 Zapne GC G1 Povolí String Deduplication GC vypisuje statistiky String Deduplication Nastavuje od jakého stáří objektu je String Deduplication povolena (drahá operace) UUR - FXML, CSS 32

33 CSS Založen na standartu W3C CSS version 2.1 Umožňuje definovat vzhled (ne strukturu) okna Barvy Fonty Rámečky Obrázky na pozadí Pozice Snadná změna vzhledu výměnou CSS souborů Velmi podrobný dokument s kompletní specifikací: UUR - FXML, CSS 33

34 CSS v Javě Všichni potomci Node mají metodu setstyle(string) Každému elementu lze v programu nastavit vzhled Základní tlačítko Nastavený styl hello01bt.setstyle("-fx-text-fill: #006464;" + " -fx-background-color: #DFB951;" + " -fx-border-radius: 20;" + " -fx-background-radius: 20;" + " -fx-padding: 5;"); UUR - FXML, CSS 34

35 Načtení Nastavovat každému uzlu vlastní styl je nepraktické načtení stylu: Ze souboru: String css = MyClass.class.getResource("mycss.css"); scene.getstylesheets().clear(); scene.getstylesheets().add(css); Z URL: scene.getstylesheets().clear(); scene.getstylesheets().add(" Ve scéně může být nastaveno několik CSS Košile bližší než kabát CSS nastavené uzlu překryje CSS scény UUR - FXML, CSS 35

36 Selektory Umožňují propojit styl s uzlem grafu ( adresování ) ID unikátní identifikátor uzlu (fx:id nebo setid()) Nastavení vzhledu tohoto konkrétního uzlu #nodeid { -fx-fill: red; } Třída uzel může mít přiřazeno několik tříd (getstyleclass.addclass("name")) Nastavení vzhledu všech prvků dané třídy Uzel má vždy alespoň třídu odpovídající jeho typu (TableView tableview).label { -fx-text-fill: black; } UUR - FXML, CSS 36

37 Selektory Pseudotřída podobné jako třída, obvykle dynamicky určená (metoda getpseudoclassstate() vrací aktuální kolekci) Stav uzlu, pozice myši, výběr v tabulce - často odpovídají nějaké Property Použití stejné jako u tříd Všichni mají: disabled focused hoover pressed Další pseudotřídy podle typu uzlu odd, even Selected V dokumentaci k CSS podrobný popis pseudotříd pro každý uzel UUR - FXML, CSS 37

38 Selektory Použití pseudotříd Jen ve spojení s jinou třídou.label:hover { fx-text-fill: green; } Lze je kombinovat.button:hover:pressed { -fx-text-fill: white; } UUR - FXML, CSS 38

39 Adresování složený selektor Nastavení prvků uvnitř jiného prvku 2 panely, v každém chci jinou barvu tlačítek nestačí třída button Můžu každému tlačítku dát další třídu, ale pak může dojít k nekonzistenci při přesunu tlačítka Lze použít složený selektor ancestor offspring {} Styl ovlivní jen potomky (offspring) uvnitř předka (ancestor), jinde nemá vliv #pane1.button {} #pane2.button {} Pro přímé potomky jako oddělovač > UUR - FXML, CSS 39

40 Nastavitelné vlastnosti Záleží na uzlu který je nastavován Uzly dědí nastavitelné vlastnosti a pseudotřídy U vlastností prefix fx- pro odlišení od běžného CSS Syntaxe nastavení vlastnosti: Vlastnost : hodnota; -fx-border-radius: 20; CSS používá datové typy vlastnosti mají určeno jakého typu budou hodnoty Číselné vlastnosti mohou vyžadovat uvedení jednotek (např. rozměr) UUR - FXML, CSS 40

41 CSS a pozice V normálním HTML lze ovlivnit místo prvku na obrazovce V JavaFX o tom rozhoduje layout jen omezené možnosti Povolené vlastnosti: padding margin Nepoužité vlastnosti: float position overflow width height UUR - FXML, CSS 41

42 Vybrané datové typy Primitivní typy: boolean, string, number Měřitelné typy: size, angle Relativní jednotky (px, em, ex) Absolutní jednotky (in, cm, mm, pt, pc) nemusí fungovat správně Obvykle 3pt = 4px (96 ppi) Úhly (deg, rad, grad, turn) Složené typy: font, color, paint Typy složené z několika primitivních nebo složených atributů Existují funkce pro jejich sestavení Nemusí být nastaveny všechny atributy UUR - FXML, CSS 42

43 Typ Font Atributy font-family rodina, jméno fontu nebo skupiny fontů (serif / sansserif / font_name) font-size velikost, v zadaných jednotkách (pt, px) font-style nastavení kurzívy (normal / italic / oblique) font-weight nastavení tučnosti (normal / bold / bolder.) Příklad nastavení fontu a jednotlivých atributů.custom-button { -fx-font: bold 16px "Serif"; }. custom-button { -fx-font-size: 16pt; -fx-font-family: "Courier New"; } UUR - FXML, CSS 43

44 Typ Color Nastavení barvy Podporuje RGB model Řada barev má definované jméno.button { -fx-background-color: red; }.button { -fx-background-color: #87ceeb; } Lze dohledat barvu nastavenou jako konstantu (looked-up color).root { abc: #f00 }.button { -fx-background-color: abc } Funkce pro sestavení z RGB hodnot -fx-border-color: rgb(49, 89, 23); UUR - FXML, CSS 44

45 Vlastnosti Region Vlastnosti kolem pozadí a orámování Atributy background-color barva pozadí padding odsazení od okrajů border-color, border-radius, border-style, border-width nastavení rámečku kolem oblasti border-style ovlivňuje typ čáry (solid, dotted, dashed, ridge, inset ) Příklad.button{ -fx-border-color: rgb(49, 89, 23); -fx-border-radius: 5; -fx-border-style: solid; -fx-padding: ; } UUR - FXML, CSS 45

46 Styly rámečků solid dotted dashed double groove ridge inset outset none hodnoty příklad UUR - FXML, CSS 46

47 Vlastnosti Labeled Všechny ovládací prvky s popiskem (Label, Button, ) Atributy: alignment zarovnání uzlu vůči rodiči text-alignment zarovnání textu wrap-text povoluje / zakazuje zalamování textu font font kterým se popisek vypisuje text-fill barva textu underline nastavuje podtržení Příklad:.label { -fx-font-size: 20pt; -fx-font-family: "Segoe UI Light"; -fx-text-fill: white; -fx-alignment: center-left; -fx-opacity: 1; } UUR - FXML, CSS 47

48 Děkuji za pozornost OTÁZKY? NÁZORY, PŘIPOMÍNKY? PŘÍŠTĚ: TESTOVÁNÍ

GUI. JavaFX. Java UI, letní semestr 2017/2018 1

GUI. JavaFX. Java UI, letní semestr 2017/2018 1 GUI JavaFX 1 Přehled Java GUI Java 1.0 (1996) AWT použití nativních GUI komponent Java 1.2 (2000) Swing kompletní GUI v Javě JavaFX (2007) nová technologie běžící nad Java VM ale vlastní jazyk deklarativní

Více

Základy CSS (3. přednáška)

Základy CSS (3. přednáška) Základy CSS (3. přednáška) Kaskádové styly k čemu jsou HTML definuje strukturu, CSS definuje vzhled. CSS stylesheet soubor pravidel určujících vzhled jednotlivých prvků dokumentu CSS pravidlo sestává ze

Více

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010

Více

První kapitola úvod do problematiky

První kapitola úvod do problematiky První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru

Více

NSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák

NSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák NSWI096 - INTERNET CSS kaskádové styly Mgr. Petr Lasák MINULE

Více

Mgr. Vlastislav Kučera Header, footer, navv, article, section, boxy, margin, padding, border

Mgr. Vlastislav Kučera Header, footer, navv, article, section, boxy, margin, padding, border Mgr. Vlastislav Kučera Header, footer, navv, article, section, boxy, margin, padding, border Prvky rozdělující obsah article, aside, nav, section Header Footer Boxy Vlastnosti width height padding border

Více

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 2 Vývoj Internetových Aplikací HTML a CSS Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky HTML a CSS - Tvorba webových stránek - Struktura - Obsah - Vzhled - Funkcionalita zdroj: http://www.99points.info

Více

CSS Stylování stránek. Zpracoval: Petr Lasák

CSS Stylování stránek. Zpracoval: Petr Lasák CSS Stylování stránek Zpracoval: Petr Lasák Cascade Style Sheets Sada stylů každý element má styl svého zobrazení Říká, jak má být element zobrazen, ne co v něm je Do verze HTML 4.0 byl vzhled měněn pouze

Více

CSS Kaskádové styly. formátování webových stránek

CSS Kaskádové styly. formátování webových stránek CSS Kaskádové styly formátování webových stránek Co je CSS? Layout webových stránek Nástroj na formátování html tagů Cascading style sheets možnost vrstvení Význam tagy HTML významová vs. formátovací

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

(X)HTML, CSS a jquery

(X)HTML, CSS a jquery Prezentační vrstva webové aplikace (X)HTML, CSS a jquery jquery Java Scriptová knihovna Ing. Martin Dostal (X)HTML první stránka Textový soubor s příponou.htm nebo.html: moje

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

O CSS podrobněji. Box model Document flow Layout

O CSS podrobněji. Box model Document flow Layout O CSS podrobněji Box model Document flow Layout O CSS podrobněji Box model Každý element má: -obsah (content) -spadávku (padding) -rámeček (border) -okraj (margin) O CSS podrobněji http://www.w3.org/tr/css21/box.html

Více

Tvorba webových stránek

Tvorba webových stránek Tvorba webových stránek Kaskádové styly Úprava vzhledu webové stránky pomocí atributů má několik nevýhod a úskalí. Atributy nabízejí málo možností úprav. Obtížně se sjednocují změny na různých částech

Více

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Přehled základních html tagů

Přehled základních html tagů Přehled základních html tagů h1... hlavní nadpis h2... podnadpisy h3... podnadpisy další úrovně p... odstavec strong... tučné písmo b... tučné písmo em... kurzíva i... kurzíva br... zalomení řádku ol...

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

Tvorba webových stránek

Tvorba webových stránek Tvorba webových stránek 1 HTML Hyper Text Markup Language = hypertextový značkovací jazyk Slouží pro tvorbu webových stránek, které jsou propojeny hypertextovými odkazy HTML soubor je obyčejný text obalený

Více

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Blokový model v CSS:

Blokový model v CSS: Blokový model v CSS: Blokový model v CSS: Vlastnosti textu Vlastnost Hodnoty Standardní hodnota Aplikuje se na Dědí se Popis word-spacing normal, délka normal o kolik se zvětší mezera mezi slovy letter-spacing

Více

CSS Selektory tříd a ID, dědičnost, další vlastnosti. Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace

CSS Selektory tříd a ID, dědičnost, další vlastnosti. Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace CSS Selektory tříd a ID, dědičnost, další vlastnosti Internetové publikování 1 Cascading Style Sheets Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace Specifikace

Více

22. Tvorba webových stránek

22. Tvorba webových stránek 22. Tvorba webových stránek Webové stránky jsou spolu s elektronickou poštou nejpoužívanější prostředky internetu. Brouzdáme li internetem používáme nějaký prohlížeč. To, co vidíme na obrazovce v prohlížeči

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

HTML Hypertext Markup Language

HTML Hypertext Markup Language HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé

Více

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox 02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

GUI. Systémová integrace pro desktopové aplikace

GUI. Systémová integrace pro desktopové aplikace GUI Systémová integrace pro desktopové aplikace Java, zimní semestr 2016 11.1.2017 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace

Více

CSS 1. Blokový model Každý element tvoří obdélník. Dva druhy obdélníků: - Blokové; - Vložené. Zde je dlouhý text v kterém nachazí vložené...

CSS 1. Blokový model Každý element tvoří obdélník. Dva druhy obdélníků: - Blokové; - Vložené. Zde je dlouhý text v kterém nachazí vložené... Blokový model Každý element tvoří obdélník. Dva druhy obdélníků: - Blokové; - Vložené. CSS 1 blokové To je blokové Zde je dlouhý text v kterém nachazí vložené... vložené Vnější okraje umožňují nastavovat

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Rozměry, okraje a rámečky

Rozměry, okraje a rámečky Rozměry, okraje a rámečky 185 Jaké jednotky délky lze v CSS použít Jednotky délky slouží k zapisování vzdálenosti a definují se jimi jak rozměry elementů, tak rozměry okrajů či rámečků. Zapisují se hned

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití

Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití Autor: Mgr. Tomáš Javorský Datum vytvoření: 05 / 2012 Ročník: 3 Vzdělávací oblast / téma: webdesign, počítačová grafika Anotace: Seznámení

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

Více

TVORBA WEBOVÝCH STRÁNEK

TVORBA WEBOVÝCH STRÁNEK TVORBA WEBOVÝCH STRÁNEK Výukový modul TWS_03c Ing. Pavel Chmiel, Ph.D. UNIV 2 - KRAJE Osnova výukového modulu TWS_03c 1. Box model v CSS 2. Obtékání blokových (X)HTML elementů 3. Pozicování blokových (X)HTML

Více

Tvorba www-stránek. Příkazy jazyka HTML. Budeme pracovat následovně: Základní struktura webové stránky. Příkazy sekce HEAD

Tvorba www-stránek. Příkazy jazyka HTML. Budeme pracovat následovně: Základní struktura webové stránky. Příkazy sekce HEAD Tvorba www-stránek Webové stránky jsou napsané pomocí jazyka HTML (HyperText Markup Language). Ke tvorbě webových stránek potřebujeme - speciální program umožňuje tvořit stránku bez znalostí HTML-kódu

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

Více

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

NSWI096 - INTERNET JavaScript

NSWI096 - INTERNET JavaScript NSWI096 - INTERNET JavaScript Mgr. Petr Lasák JAVASCRIPT JAK SE DNES POUŽÍVÁ Skriptovací (interpretovaný) jazyk Umožňuje interaktivitu Použití: Dialogy Kontrola dat ve formulářích Změny v (X)HTML dokumentu

Více

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

Více

Skripta ke školení. Autor: Tomáš Herout Telefon: (+420)

Skripta ke školení. Autor: Tomáš Herout   Telefon: (+420) Skripta ke školení Autor: Tomáš Herout E-mail: herout@helpmark.cz Telefon: (+420) 739 719 548 2017 Obsah CSS... 3 Co je to CSS... 3 Druhy selektorů... 4 Pseudotřídy a pseudoelementy nejpoužívanější z nich...

Více

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

Jazyky pro popis dat

Jazyky pro popis dat Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Jazyky pro popis dat Pavel

Více

13. Vytváření webových stránek

13. Vytváření webových stránek 13. Vytváření webových stránek značkovací jazyk HTML, základní členění dokumentu, odkazy, tabulky, seznamy, obrázky, HTML editory Značkovací jazyk HTML HTML - Hypertext markup Language (hypertextový značkovací

Více

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění

Více

ŠKODA Portal Platform

ŠKODA Portal Platform ŠKODA Portal Platform Struktura LESS stylů Jan Obrátil Účel dokumentu Účelem tohoto dokumentu je vysvětlit strukturu stylů v Portálové Platformě tak, aby bylo možné je správně použít a rozšířit je pro

Více

Dokument XHTML. Prohlížeč. styl CSS. Výstupní dokument. Soubor DTD

Dokument XHTML. Prohlížeč. styl CSS. Výstupní dokument. Soubor DTD CSS 1 Výhody: Udřování prezentace oddělené od dokumentu znamená, že můžete nastavit styly dokumentu pro různá média; Oddělení dokumentu od jeho prezentace znamená menší dokument, což dále znamená, že se

Více

Programování v C++ 1, 5. cvičení

Programování v C++ 1, 5. cvičení Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené

Více

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33 Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt

Více

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9. Jazyk XSL - rychlá transformace dokumentů 9. prosince 2010 Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí

Více

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.

Více

Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči

Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči Autor: Mgr. Tomáš Javorský Datum vytvoření: 06 / 2012 Ročník: 3 Vzdělávací oblast / téma: webdesign, počítačová grafika Anotace: DUM seznamuje

Více

Java - řazení objektů

Java - řazení objektů Java - řazení objektů Kapitola seznamuje se základními principy řazení objektů Klíčové pojmy: Přirozené řazení, absolutní řazení, ideální porovnávatelná třída ŘAZENÍ OBJEKTŮ U objektů není příliš jasné,

Více

GUI. Systémová integrace pro desktopové aplikace

GUI. Systémová integrace pro desktopové aplikace GUI Systémová integrace pro desktopové aplikace 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace k dispozici static Desktop getdesktop()

Více

Internetové publikování. Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111) e-mail: petr.zamostny@vscht.

Internetové publikování. Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111) e-mail: petr.zamostny@vscht. Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111) e-mail: petr.zamostny@vscht.cz Internetové publikování CSS 4. Formátovací model, pozicování

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Vytváření a použití knihoven tříd

Vytváření a použití knihoven tříd Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce

Více

12. Základy HTML a formuláře v HTML

12. Základy HTML a formuláře v HTML 12. Základy HTML a formuláře v HTML 1) Co je to HTML a historie HTML 2) Termíny v HTML a. tag b. značka c. element d. atribut e. entita 3) specifikace a. html, xhtmll b. rozdíly xhtml a html 4) struktura

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Programování v jazyku C# II. 3.kapitola

Programování v jazyku C# II. 3.kapitola Programování v jazyku C# II. 3.kapitola Obsah Dokování a kotvení Panely, splittery a jiné kontajnery Složitejší kontrolky MDI aplikace 2/20 Vnější a vnitřní okraje Umožňují snažší rozmisťování prvku automatické

Více

HTML - Úvod. Zpracoval: Petr Lasák

HTML - Úvod. Zpracoval: Petr Lasák HTML - Úvod Zpracoval: Petr Lasák Je značkovací jazyk, popisující obsah HTML stránek Je z rodiny SGML jazyků, jako např. XML, DOCX, XLSX Nejedná se o programovací ale značkovací jazyk Dynamičnost dodávají

Více

CSS 1 Relativní pozicování Relativní pozicované bloky jsou pozicované vůči nornálnímu toku elementů dokumentu. (nejsou vyjmuty z normálního toku jako

CSS 1 Relativní pozicování Relativní pozicované bloky jsou pozicované vůči nornálnímu toku elementů dokumentu. (nejsou vyjmuty z normálního toku jako CSS 1 Relativní pozicování Relativní pozicované bloky jsou pozicované vůči nornálnímu toku elementů dokumentu. (nejsou vyjmuty z normálního toku jako absolutně pozicované bloky)

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Tvorba webových stránek

Tvorba webových stránek Tvorba webových stránek HTML Hypertext Markup Language jazyk pro tvorbu webových stránek Rozšíření: JavaScript, CSS Dynamické stránky: PHP, ASP(X), JSP Prohlížeče: IE, Firefox, Opera, Google Chrome mohou

Více

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné O autorovi 15 O odborném korektorovi 15 Úvod 17 Vývoj jazyka Java 17 Java SE 8 19 Struktura této knihy 20 Klíčové znalosti a pojmy 20 Testové otázky 20 Odpovídá expert 20 Cvičení 20 Předchozí zkušenosti

Více

Class loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu

Class loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu Seminář Java Zavádění tříd Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Zavádění tříd 1/ 16 JVM zavádí třídy dynamicky Class loader objekt schopný zavádět třídy abstraktní

Více

KMI / TMA Tvorba mobilních aplikací. 3. seminář ZS 2016/2017 Středa 13:15-15:45

KMI / TMA Tvorba mobilních aplikací. 3. seminář ZS 2016/2017 Středa 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 3. seminář 12.10.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře vztah aktivit a layoutů, views a layouty podrobně, přizpůsobení se HW HIERARCHIE VIEWS Co všechno

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

tvoříme web HTML/CSS

tvoříme web HTML/CSS tvoříme web HTML/CSS 22. 4. 2018 Zlín HTML/CSS Co s načatou nedělí Pochopíme k čemu slouží HTML a CSS Naučíme se pár nových slovíček Vytvoříme webovou stránku v HTML Dáme jídlo Pomocí CSS dodáme stránce

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Základy HTML. Autor: Palito

Základy HTML. Autor: Palito Základy HTML Autor: Palito Zobrazení zdrojového kódu Zobrazení zdrojového kódu Každá stránka je na disku nebo na serveru uložena ve formě zdrojového kódu. Ten kód je psaný v jazyce HTML. Když si chcete

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

Mgr. Vlastislav Kučera Struktura stránky, hlavička,

Mgr. Vlastislav Kučera Struktura stránky, hlavička, Mgr. Vlastislav Kučera Struktura stránky, hlavička, Struktura stránky hlavička meta tagy titulek stránky připojení stylů,... CSS to

Více

KMI / TMA. Tvorba mobilních aplikací. 3. seminář ZS 2017/2018 ČTVRTEK 13:15-15:45

KMI / TMA. Tvorba mobilních aplikací. 3. seminář ZS 2017/2018 ČTVRTEK 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 3. seminář 12.10.2017 ZS 2017/2018 ČTVRTEK 13:15-15:45 OBSAH SEMINáře vztah aktivit a layoutů, views a layouty podrobně, přizpůsobení se HW HIERARCHIE VIEWS Co všechno

Více

Začínáme s vývojem pro Android

Začínáme s vývojem pro Android Pavel Petřek CTO Praha, 14. dubna 2010 Kdo je kdo Pavel Petřek Vývojář, přednášející, entusiasta světa chytrých telefonů (a velký jedlík) Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony (Android:

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML Čtvrtek 11. dubna Základy HTML HyperText Markup Language, označovaný zkratkou HTML, je značkovací jazyk pro hypertext. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje

Více

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start. 01. HODINA 1.1 Spuštění programu VB 2010 - pomocí ikony, z menu Start. - po spuštění si můžeme vybrat, zda chceme vytvořit nový Projekt a jaký nebo zda chceme otevřít již existující Projekt. 1.2 Prvky

Více

CSS styly. Cascading Style Sheets kaskádové styly

CSS styly. Cascading Style Sheets kaskádové styly CSS styly Cascading Style Sheets kaskádové styly Kaskádové styly Jednotný vzhled publikovaných www stránek Rozsáhlé změny jdou provést snadno Široká podpora (prohlížeče + WYSIWIG) Standard CSS byl představen

Více

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument František HAVLŮJ e-mail: haf@ujv.cz ÚJV Řež oddělení Reaktorové fyziky a

Více

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Dynamicky vázané metody. Pozdní vazba, virtuální metody Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:

Více

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Anotace sady: Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Autor: Blanka Sadovská Klíčová slova: Algoritmus, proměnná, diagram Stupeň a typ vzdělávání: gymnaziální vzdělávání, 3. ročník

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

Více

Elektronické publikování - prezentace. 23. dubna 2009 VŠB - TUO. Beamer - grafické zpracování prezentace. Rostislav Šuta, sut017.

Elektronické publikování - prezentace. 23. dubna 2009 VŠB - TUO. Beamer - grafické zpracování prezentace. Rostislav Šuta, sut017. Beamer - Elektronické publikování - VŠB - TUO 23. dubna 2009 Obsah 1 2 3 4 5 6 Obsah 1 2 3 4 5 6 schémata barvy písma změna fontu vnitřní schémata vnější schémata Obsah Prezentace bez navigace e stromovou

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více