Aplikace s grafickým uživatelským rozhraním

Podobné dokumenty
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ

GUI v Javě. Jiří Vokřínek. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 B0B36PJV Programování v JAVA

GUI v Javě. GUI v Javě GUI komponenty a kontejnery Dialogová okna Události a obsluha událostí z GUI

GUI v Javě. Jiří Vokřínek. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 B0B36PJV Programování v JAVA

GUI - úvod. V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky.

Část I Příklad - Generické typy, iterátor

Grafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

Seznámení s AWT: práce s okny, grafikou a textem

GUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2

Část I Příklad - Generické typy, iterátor

Java GUI události. Událostmi řízené programování. Zpracování = obsluha událostí

Grafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

GUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2

GUI v Javě (připomínka) Návrhář GUI Příklad aplikace MVC Model-View-Controller Události Vnitřní třídy. MVC Model-View-Controller

JAVA GUI Java, zimní semestr

8. Grafické uživatelské rozhraní

Obsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.

GUI v Javě a událostmi řízené programování

GUI v Javě a událostmi řízené programování

Java - výjimky. private void vstup() throws IOException {... }

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

Obsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.

Události. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

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

GUI v Javě a událostmi řízené programování

Java aplety. Předávání parametrů z HTML

Swing. Přehled komponent. Java UI, letní semestr 2017/2018 1

JAVA Unit testing Java, zimní semestr

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

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Java - Kresba. 2/28/11 1/8 Java - kresba

Tvorba grafického uživatelského rozhraní v BlueJ

Komponenty v.net. Obsah přednášky

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

VIII. Seminář Java VIII p.1/36

Projekty pro výuku programování v jazyce Java

Grafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování

Diplomová práce Plugin do Eclipse pro tvorbu GUI s konfigurovatelným generováním zdrojového kódu

7 Jazyk UML (Unified Modeling Language)

Technologie JavaBeans

Úloha 1. Text úlohy. Vyberte jednu z nabízených možností: NEPRAVDA. PRAVDA Úloha 2. Text úlohy

SWT & MigLayout. Alternativy Java GUI v praxi. Pavel Janečka & Tomáš Chlouba. červen 2011

Obrázek 6.14: Prohlížec nápovedy

Abstraktní datové typy: zásobník

Principy objektově orientovaného programování

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

7 Jazyk UML (Unified Modeling Language)

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

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

APLIKACE V JAZYCE JAVA OVLÁDANÉ PŘES WWW

1 Uživatelská dokumentace

JAVA V GUI Java, zimní semestr

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

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

3 KTE / ZPE Informační technologie

Abstract Factory úvod

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Práce se soubory v Javě

Softwarové komponenty a Internet

Jazyk C# (seminář 9)

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

NASTAVENÍ PROTOKOLU TCP/IP. Připojení nového zařízení. Jak na to?

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

KTE / ZPE Informační technologie

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

GUI. Systémová integrace pro desktopové aplikace

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

Architektury informačních systémů

GUI v Jav a událostmi ízené programování

JAVA. GUI v std knihovně. Java, letní semestr

Iterator & for cyklus

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Podmínky na zápočet. Java, zimní semestr

2 Tvorba interaktivních grafických programů

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

GUI. Systémová integrace pro desktopové aplikace

JAVA V GUI Java, zimní semestr

Architektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.

JAVA UI. Programování uživatelských rozhraní v Javě. Java UI, letní semestr 2017/2018 1

Komponentní technologie

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

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

Kabelová televize Přerov, a.s.

Algoritmizace a programování

Distribuované systémy a výpočty

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

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é

Generické programování

RMI Remote Method Invocation

Remote Method Invocation RMI

Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)

JAVA JavaBeans Java, letní semestr

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

Nastavení DCOM. Uživatelský manuál

Programování v Javě I. Leden 2008

Architektury informačních systémů

Transkript:

Aplikace s grafickým uživatelským rozhraním 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 1

Typy aplikací Konzolová aplikace příkazový řádek, System.in, System.out Aplet aplikace spouštěná uvnitř WWW prohlížeče (GUI) Aplikace plnohodnotná aplikace s grafickým uživatelským rozhraním GUI aplikace 2 2

Aplet Spouští se otevřením HTML dokumentu Omezený přístup k prostředkům počítače zajištění bezpečnosti (spouštíme potenciálně nebezpečné aplikace z Internetu!) nesmí přistupovat k souborům na straně klienta (prohlížeče) nesmí navazovat síťová spojení na další servery nesmí spouštět programy na klientovi... GUI aplikace 3 3

Aplet - příklad <HTML> <HEAD> <TITLE>Stránka s apletem</title> </HEAD> <BODY> <APPLET CODE="HelloWorld.class" WIDTH="400" HEIGHT="300"> </APPLET> </BODY> </HTML> GUI aplikace 4 4

Aplet - příklad import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet { /** vykreslení obsahu apletu */ public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } GUI aplikace 5 5

GUI Aplikace Spouští se běžným způsobem public static void main(string[] args) { } java cviceni12.priklad1 Běží v samostatném okně vazba na hostitelské GUI (Windows API, X Window API,...) aplikace musí sama toto okno vytvořit Žádná zvláštní omezení GUI aplikace 6 6

GUI Aplikace - příklad import javax.swing.*; public class HelloWorld { public static void main(string[] args) { JFrame frame = new JFrame("Hello"); final JLabel label = new JLabel("Hello World"); frame.getcontentpane().add(label); frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setvisible(true); } } GUI aplikace 7 7

Knihovny tříd pro GUI AWT Abstract Window Toolkit základní implementace GUI nezávislost na konkrétní platformě jednotný vzhled na všech platformách Swing nadstavba/náhrada AWT možnost změny vzhledu a chování (Look & Feel) odlehčené komponenty GUI aplikace 8 8

Knihovna AWT java.awt Component Button Canvas Checkbox Choice Container Label List Scrollbar TextComponent TextArea TextField Container Panel java.applet.applet ScrollPane Window Dialog FileDialog Frame GUI aplikace 9 9

Knihovna Swing javax.swing JComponent AbstractButton JButton JToggleButton JCheckBox JRadioButton JMenuItem JMenu JRadioButtonMenuItem JCheckBoxMenuItem JColorChooser JComboBox JFileChooser JLabel JMenuBar JPanel JPopupMenu JScrollBar JSlider... JTree JViewport GUI aplikace 10 10

Hierarchie prvků GUI Rám, titulek, menu, stavový řádek Ovládací prvek Plocha pro umisťování ovládacích prvků GUI aplikace 11 11

Události Základní události stisknutí klávesy pohyb myší, stisknutí tlačítka myši... Odvozené události aktivace položky v menu komponenta se stane viditelnou uzavření okna aplikace změna vybrané položky v seznamu... GUI aplikace 12 12

Události Každá událost je reprezentována objektem java.awt.awtevent java.awt.event.actionevent java.awt.event.keyevent... Objekt (posluchač, Listener), který chce být o události informován, se musí zaregistrovat Při vzniku události jsou informováni všichni zaregistrovaní posluchači GUI aplikace 13 13

Zpracování události rozhraní posluchače public class MyClass implements ActionListener { public void actionperformed(actionevent e) { // reakce na událost } public void init() { JButton button = new JButton("OK ); button.addactionlistener(posluchač);... registrace posluchače } GUI aplikace 14 14

Adaptéry Jak ošetřit uzavření hlavního okna aplikace? frame.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0); } }); class WindowAdapter implements WindowListener všechny metody rozhraní WindowListener implementuje jako prázdné předefinujeme pouze ty metody, které chceme změnit využijeme anonymní vnitřní třídy GUI aplikace 15 15

Příklady pro cvičení 1. Ukázka apletu s využitím knihovny AWT. 2. Úkol doplnění reakce na stisknutí tlačítka. 3. Ukázka aplikace s využitím knihovny Swing. GUI aplikace 16 16