Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY GUI v Javě úvod.

Slides:



Advertisements
Podobné prezentace
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Martin Dlouhý. Vytvořeno dne Nový začátek (New start) CZ.1.07/1.4.00/
Advertisements

Vkládání a úprava tabulek do Wordu 2003
Styly, záhlaví a zápatí, oddíly
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Pole, ukazatele a odkazy
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_13.
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
Školení počítače Excel
Stránka je základní pracovní plochou, na kterou tvoříme dokument – píšeme text, vkládáme objekty… Možnosti nastavení vzhledu stránky jsou široké – okraje.
Čtvrté cvičení Objektové programování Objektový model v Javě
IT začátečníci - Word Modul 3.
Prezentační manažer Kapitola 3.0 (Úvodní práce v programu)
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast: Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
VYPRACOVALA: MGR. HANA TOFLOVÁ DNE: ICT2/1/3/13 WORD - tabulky.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
OS Windows 7 I. Úprava a nastavení PC Práce se složkami a soubory
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Objektové programování
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
 Microsoft Word  Je textový procesor od firmy Microsoft, který je součástí kancelářského balíku Microsoft Office.
Seminář C++ 4. cvičení Objekty Ing. Jan Mikulka. Co je objekt ► obraz třídy i instance ► třída – definovaná za pomocí klíčového slova class ► instance.
Uživatelská rozhraní Uživatelská rozhraní 6. cvičení.
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Tabulkové procesory Pelikánová Lucie 2002.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_259 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Výukový program: Obchodní akademie Název programu: Tvorba tabulek Vypracoval : Ing. Jiří Durďák Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Návrhový vzor Factory v JAVA API Martin Kot Katedra informatiky VŠB – Technická univerzita Ostrava
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Power Point– popis prostředí
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
Název projektu: Šablony Špičák číslo projektu: CZ.1.07/1.4.00/ šablona III/2 autor výukového materiálu: Mgr. Jana Jiroušová, VM vytvořen: květen.
Tabulkový procesor – Excel 2010.
Úvod Excel – tabulkový procesor. Řádek vzorců – zobrazuje úplný a skutečný obsah buňky Označená aktivní buňka Pozice aktivní buňky.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_09.
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
Šesté cvičení Výjimky Balíky.
Aktivní škola - podpora, zlepšení kvality vzdělávání a výuky na základní škole Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
HTML – TABULKY. - uzavírá celou strukturu tabulky atributy tabulky:  align - obtékání tabulky ostatním textem – right, left, center  cellpadding – vnitřní.
Textový procesor (MS Word) Ing. Jan Roubíček. Tabulky v textu VY_32_INOVACE_10_2_15_AP.
Základy práce na PC Ing. Jan Roubíček. Konfigurace Windows VY_32_INOVACE_10_1_05_AP.
OPERAČNÍ SYSTÉMY.
Úvod Excel – tabulkový procesor. Řádek vzorců – zobrazuje úplný a skutečný obsah buňky Označená aktivní buňka Pozice aktivní buňky.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_12.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorIng. Ivana Brhelová Název šablonyIII/2.
Uživatelská rozhraní Uživatelská rozhraní 8. cvičení.
Počítačová grafika Zoner Callisto – tabulky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Růžena Hynková. Dostupné z Metodického portálu.
CorelDRAW – prostředí programu (12). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Datové typy a operátory Základní programové.
Nabídka START VY_32_INOVACE_08_16_nabídka start. Nabídka START V levém dolním rohu na hlavním panelu Většinou je zde napsán nápis START či tlačítko se.
PRACOVNÍ PLOCHA Vasyl Lutsak.
WORDPAD Textový dokument.
Události ( Events ) GUI definuje model událostí ( event model ) – od Javy 1.1 je to tzv. delegační model. ( Původní tzv. hierarchický model se již neužívá.
Delphi – Práce s formuláři
OKNa/ práce s oknem ve windows
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Výukový materiál zpracován v rámci projektu
Karta Domů, karta Rozložení stránky
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Výukový materiál zpracovaný v rámci projektu
Základní zpracování dat Příklad
Výukový materiál zpracovaný v rámci projektu
Výukový materiál zpracovaný v rámci projektu
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Transkript prezentace:

Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY GUI v Javě úvod

Knihovny pro tvorbu GUI AWT (Abstract Windowing Toolkit) –již v Java 1.0 –sledování událostí postupně upravováno největší rozdíl mezi 1.0 a 1.1 –java.awt –java.awt.event a další podbalíky JFC Swing (Java Foundation Classes) –od verze 1.2 –javax.swing a další podbalíky

Look and feel swingových komponent Aplikace s GUI napsané v Javě pomocí knihovny Swing mohou mít různý vzhled Java na Windows standardně umožňuje tyto : – MetalLookAndFeel –WindowsLookAndFeel –MotifLookAndFeel Existují i vzhledy dodávané dalšími dodavateli

Look and feel swingových komponent MetalLookAndFeelMetalLookAndFeel s rámem Winows XP

MotifLookAndFeelWindowsLookAndFeel Look and feel swingových komponent

Knihovna NimrodKnihovna Nimrod + Windows XP

Nastavení vzhledu aplikace UIManager.setLookAndFeel( ); "com.sun.java.swing.plaf.motif.MotifLookAndFeel" "javax.swing.plaf.metal.MetalLookAndFeel" "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" UIManager.getCrossPlatformLookAndFeelClassName() UIManager.getSystemLookAndFeelClassName () JFrame.setDefaultLookAndFeelDecorated(true); java -Dswing.defaultlaf = com.sun.java.swing.plaf.windows. WindowsLookAndFeel MyApp

Správa umístění komponent v okně java.awt.LayoutManager metoda pro nastavení umístění setLayout() Druhy rozložení –java.awt.FlowLayout –java.awt.GridLayout –java.awt.BorderLayout –javax.swing.BoxLayout –javax.swing.SpringLayout –java.awt.GridBagLayout –java.awt.CardLayout

FlowLayout Implicitní rozložení pro JPanel Komponenty v upřednostňované velikosti jsou řazeny do řádek. Pořadí je určeno pořadím vložení metodou add(). Zarovnání komponent a mezery mezi nimi je možno určit v konstruktoru, např. zarovnání vpravo a mezery 10 pixelů. FlowLayout(FlowLayout.RIGHT, 10, 10)

BorderLayout Implicitní rozložení pro JFrame a JDialog. Plocha rozdělena na 5 částí –PAGE_START (NORTH) –LINE_START (WEST) –CENTER –LINE_END (EAST) –PAGE_END (SOUTH) Při vkládání komponenty určujeme umístění druhým parametrem metody add() např. add(komponenta, BorderLayout.LINE_START) Neuvedení druhého parametru znamená umístění komponenty do oblasti CENTER V každé části je pouze jedna komponenta

BorderLayout Komponenty v horní a dolní oblasti se zobrazují v upřednostňované výšce a šířce podle velikosti okna. Komponenty v levé a pravé oblasti se zobrazují v upřednostňované šířce a výšce podle velikosti okna. Komponenta ve středu zabírá celý zbytek. Pokud je okno malé zmenšuje se tato komponenta. V konstruktoru můžeme určit mezery mezi komponentami.

GridLayout V konstruktoru určujeme počet řádků a sloupců a mezery mezi komponentami. Komponenty jsou všechny stejně velké, rozměry se řídí velikostí okna. Pořadí je určeno pořadím vkládání metodou add().

BoxLayout Uspořádání komponent do jednoho řádku či jednoho sloupce. Toto rozvržení používá maximální velikost komponent. Konstruktor BoxLayout(kontejner,BoxLayout.Y_AXIS) Zarovnání komponenty je určeno nastavením vlastnosti komponenty pomocí metod setAligmentX() a setAligmentY() Pro vytváření mezer mezi komponentami slouží třída javax.swing.Box.

Box prázdná oblast mezi komponentami –createRigidArea() odtlačení komponent co nejdál od sebe –createVerticalGlue() –createHorizontalGlue()

SpringLayout Pracuje na základě popisu vzdáleností mezi jednotlivými komponentami

SpringLayout layout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, contentPane); layout.putConstraint(SpringLayout.NORTH, label, 5, SpringLayout.NORTH, contentPane); layout.putConstraint(SpringLayout.WEST, textField, 5, SpringLayout.EAST, label); layout.putConstraint(SpringLayout.NORTH, textField, 5, SpringLayout.NORTH, contentPane); layout.putConstraint(SpringLayout.EAST, contentPane, 5, SpringLayout.EAST, textField); layout.putConstraint(SpringLayout.SOUTH, contentPane, 5, SpringLayout.SOUTH, textField);

GridBagLayout Složitý, ale velmi flexibilní. Jedná se o tabulku s těmito vlastnostmi –určujeme umístění v tabulce –jedna komponenta může zabírat více buněk –pro každou komponentu můžeme nastavit její vlastnosti –pro každý řádek i sloupec můžeme určit výšku a šířku

GridBagLayout Jednoduchý konstruktor GridBagLayout() Pro každou vloženou komponentu existuje instance třídy GridBagConstraints() Vložení komponenty pak probíhá následovně GridBagLayout gbl = new GridBagLayout(); getContentPane().setLayout(gbl); GridBagConstraints omezeni = GridBagConstraints(); getContentPane().add(komponenta1,omezeni);

Kombinování rozložení, panely V jedné instanci třídy JFrame může být nastaven jen jeden správce rozložení Komponentou však nemusí být přímo aktivní prvek GUI, ale instance třídy JPanel. Každý panel (instance třídy JPanel) obsažený v okně může mít nastaveno jiné rozložení. Panel může obsahovat další panely atd.

Skládání panelů s různým rozložením komponent

BoxLayout X FlowLayout BoxLayout Y FlowLayout BorderLayout

Hierarchie komponent (část)

JFrame – okno aplikace

Události v GUI v Javě ActionEvent AdjustmentEvent ComponentEvent ContainerEvent FocusEvent ItemEven t KeyEvent MouseEvent MouseMotionEvent TextEvent WindowEvent ChangeEvent a další

Obsluha událostí Ke každému typu události existuje rozhraní –ActionEvent - ActionListener –WindowEvent - WindowListener K rozhraní s více než jednou metodou existuje třída Adapter implementující všechny metody rozhraní jako prázdné –WindowListener – WindowAdapter Třídy událostí a jejich listenery a adaptery jsou ve dvou balíčcích –java.awt.event –javax.swing.event

Obsluha událostí Každá komponenta má metodu či metody addXxxListener pro určení jaké události sleduje (existuje i metoda removeXxxListener) Jedna komponenta může sledovat více druhů událostí a několik komponent může mít přiřazenou stejnou reakci na událost Pro obsluhu události se používají vnitřní třídy.

Obsluha událostí – průběh volání metod

První jednoduchá aplikace

Kód třídy Start – spuštění aplikace public class Start { public static void main(String[] args) { GUI grafika = new GUI(); grafika.setVisible(true); }

© Jarmila Pavlíčková, KIT, import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class GUI { private JFrame okno; private JButton tlacitko; private JLabel navesti; private int pocet = 0; private class ObsluhaTlacitka implements ActionListener { public void actionPerformed(ActionEvent arg0) { pocet++; navesti.setText("Tlačítko bylo stisknuto " + pocet + " krát"); } public GUI() { okno = new JFrame(); okno.setTitle("Jednoducha aplikace"); okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okno.getContentPane().setLayout(new FlowLayout()); tlacitko = new JButton("tlačítko"); tlacitko.addActionListener(new ObsluhaTlacitka()); okno.add(tlacitko); navesti = new JLabel("Tlačítko bylo stisknuto " + pocet + " krát"); okno.add(navesti); okno.pack(); } public void setVisible(boolean zobrazit) { okno.setVisible(zobrazit); } private JFrame okno; private JButton tlacitko; private JLabel navesti; private int pocet = 0; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; private class ObsluhaTlacitka implements ActionListener { public void actionPerformed(ActionEvent arg0) { pocet++; navesti.setText("Tlačítko bylo stisknuto " + pocet + " krát"); } okno = new JFrame(); okno.setTitle("Jednoducha aplikace"); okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okno.getContentPane().setLayout(new FlowLayout()); tlacitko = new JButton("tlačítko"); tlacitko.addActionListener(new ObsluhaTlacitka()); okno.add(tlacitko); navesti = new JLabel("Tlačítko bylo stisknuto " + pocet + " krát"); okno.add(navesti); okno.pack(); public void setVisible(boolean zobrazit) { okno.setVisible(zobrazit); }

Obsluha události – anonymní vnitřní třída ………. tlacitko = new JButton("tlačítko"); tlacitko.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { pocet++; navesti.setText("Tlačítko bylo stisknuto " + pocet + " krát"); } ); okno.add(tlacitko); ……….

Použité zdroje a literatura Developer Resources for Java Technology [online]. c2010 [cit ]. Dostupné z WWW: PAVLÍČKOVÁ, Jarmila; PAVLÍČEK, Luboš. Úvod do Javy. Praha : Nakladatelství Oeconomica, s. ISBN BUCHALCEVOVÁ, Alena, PAVLÍČKOVÁ, Jarmila, PAVLÍČEK, Luboš. Základy softwarového inženýrství – materiály ke cvičení. 1. vyd. Praha : Oeconomica, s. ISBN

Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Tato prezentace byla vytvořena v rámci projektu OBZORY Autor: Ing. Jarmila Pavlíčková Předmět: seminář Java Datum: