Programowanie w języku Java

Podobne dokumenty
Programowanie zdarzeniowe

Programowanie w języku JAVA. Wykład IV Swing - GUI

Java biblioteka Swing

Podstawy Języka Java

Java - interfejs graficzny

Klasy abstrakcyjne. Klasę abstrakcyjną tworzymy przy pomocy modyfikatora abstract

Programowanie w Javie Wykład 6 Okienka w Javie (AWT)

Programowanie obiektowe

Język JAVA podstawy. Wykład 5, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java

Informatyka i Ekonometria Programowanie komputerów Ćwiczenia Tworzenie aplikacji wykorzystaniem graficznego interfejsu użytkownika - Swing.

Programowanie Obiektowe Java

Programowanie graficznych interfejsów użytkownika

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

9. Swing wprowadzenie

Kontynuacja wprowadzenia do SWING. Przykłady implementacji wybranych komponentów

Programowanie w języku Java WYKŁAD

Aplikacje w Javie wykład 12 Programowanie GUI

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

Programowanie Obiektowe Java

SWING. dr Jarosław Skaruz

nazwisko_.setfont(new Font("Times New Roman", Font.BOLD, 12));

SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe.

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing

Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener))

Programowanie Obiektowe Java

Języki Programowania II Wykład 7. Java Swing

1. Zakładanie projektu Katalog typu Java Class Library do przechowywania obiektowego modelu danych projekt należy do warstwy biznesowej

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing

SWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty.

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

PROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH

Programowanie Obiektowe Java

Kontenery i komponenty graficzne

W porównaniu do tekstowego interfejsu użytkownika

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.

Podstawy Swing. Tomasz Borzyszkowski

Interfejs graczny w Javie.

Pierwsza ramka. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 10

Aplikacje w Javie wykład 12 Programowanie GUI

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika

Kurs programowania. Wykład 4. Wojciech Macyna. 23 marca 2016

Systemy informatyczne w analizie efektywności linii produkcyjnych

Scenariusz Lekcji. Część organizacyjna:

Programowanie graficznych interfejsów uŝytkownika

Tworzenie elementów graficznych

10. Swing układanie i malowanie

Zaawansowane programowanie obiektowe. Wykład 3 część 2

Programowanie obiektowe

Programowanie w języku Java WYKŁAD

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

Języki i metody programowania Java INF302W Wykład 5

Programowanie obiektowe

Połączenia między bazami danych i programem w języku Java część 2

Graphic User Interfaces pakiet Swing

setdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna

Kurs programowania. Wykład 5. Wojciech Macyna. 31 marzec 2016

Język Java. Rysowanie GUI Określanie wyglądu komponentów

JAVA 2: PROGRAMY Z GRAFICZNYM INTERFEJSEM UŻYTKOWNIKA 1. WSTĘP

Iteracyjno-rozwojowy cykl oprogramowania 4

Programowanie w środowisku graficznym- wykład 10 Programowanie GUI cz2

Języki i metody programowania Java Obsługa zdarzeń - przykłady

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006

Używanie menadżerów ułożenia Domyślnie każdy kontener ma związany ze sobą właściwy mu menadżer ułożenia: BorderLayout

Aplikacja wielow tkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator

Przykładowe roz wiązanie:

Tworzenie i obsługa graficznego interfejsu uŝytkownika

ROZDZIAŁ I - ŚRODOWISKO PROGRAMISTYCZNE

Programowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1]

LABORATORIUM 7 Cel: 1_1

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Aplikacje w środowisku Java

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Jakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,

PWŚG Ćwiczenia 13. Ukończoną pracę należy przesłać na adres lub

Systemy operacyjne na platformach mobilnych

Doskonalsze i nowe komponenty GUI

JAVA : SWING, DOKUMENTY I DRUKOWANIE 1. WSTĘP

Programowanie Zdarzeniowe(PROZ) Projekt własny - gra SUDOKU Dokumentacja końcowa

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4

4. W konstruktorze klasy Grafika wywołaj metodę określającą rozmiary ramki oraz ustaw kolor tła metodą setbackground():

Ćwiczenia 9 - Swing - część 1

Swing ćwiczenia 2 opis

Programowanie w języku Java

Java Podstawy. Michał Bereta

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

Pierwszy program korzystający z klas pakietu Swing

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Programowanie aplikacji na urządzenia mobilne

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Transkrypt:

Programowanie w języku Java Wykład 9: JFC/Swing projektowanie GUI Widok komponentów Java (Metal) MS Windows OSF/Motif GTK+ Programowanie w języku Java 2 1

Komponenty (1) Kontenery główne: JApplet JDialog JFrame Programowanie w języku Java 3 Komponenty (2) Kontenery pomocnicze: JPanel JScrollPane JSplitPane JTabbedPane JToolBar Programowanie w języku Java 4 2

Komponenty (3) Kontenery specjalnego przeznaczenia: JInternalFrame JRootPane JLayeredPane Programowanie w języku Java 5 Komponenty (4) Komponenty podstawowe JSeparator JButton JComboBox JMenu JSlider JTextField JSpinner JList Programowanie w języku Java 6 3

Komponenty (5) Komponenty informacyjne JLabel JProgressBar JToolTip Programowanie w języku Java 7 Komponenty (6) Okna dialogowe JColorChooser JFileChooser JTree JTable JText Programowanie w języku Java 8 4

Komponenty tekstowe Programowanie w języku Java 9 Kontenery frame.getcontentpane() Container add(), setlayout(), frame.setjmenubar(cyanmenubar); Programowanie w języku Java 10 5

Komponenty Klasa bazowa: JComponent metody zmieniające wygląd: setborder(), setforeground(), setopaque(), setfont(), setcursor() metody zmieniające stan: setvisible(), isvisible(), setenabled(), isenabled(), isshowing(), setname(), getname() metody obsługujące zdarzenia metody rysujące grafikę: paintcomponent(), repaint() metody zarządzające hierarchią: add(), remove(), getrootpane(), getparent() metody zarzadzające rozmieszczaniem: getpreferredsize(), setpreferredsize(), setlayout() metody odczytujące i ustalające rozmiar i pozycję: getx(), gety(), getwidth(), GetHeight(), setsize(), setlocation() Programowanie w języku Java 11 Przyciski: JButton Klasa bazowa: AbstractButton ImageIcon leftbuttonicon = createimageicon("images/right.gif"); ImageIcon middlebuttonicon = createimageicon("images/middle.gif"); ImageIcon rightbuttonicon = createimageicon("images/left.gif"); b1 = new JButton("Disable middle button", leftbuttonicon); b1.setverticaltextposition(abstractbutton.center); b1.sethorizontaltextposition(abstractbutton.leading); b1.setmnemonic(keyevent.vk_d); b1.setactioncommand("disable"); b2 = new JButton("Middle button", middlebuttonicon); b2.setverticaltextposition(abstractbutton.bottom); b2.sethorizontaltextposition(abstractbutton.center); b2.setmnemonic(keyevent.vk_m); b3 = new JButton("Enable middle button", rightbuttonicon); b3.setmnemonic(keyevent.vk_e); b3.setactioncommand("enable"); b3.setenabled(false); Programowanie w języku Java 12 6

Przyciski: JCheckBox chinbutton = new JCheckBox("Chin"); chinbutton.setmnemonic(keyevent.vk_c); chinbutton.setselected(true); glassesbutton = new JCheckBox("Glasses"); glassesbutton.setmnemonic(keyevent.vk_g); glassesbutton.setselected(true); hairbutton = new JCheckBox("Hair"); hairbutton.setmnemonic(keyevent.vk_h); hairbutton.setselected(true); teethbutton = new JCheckBox("Teeth"); teethbutton.setmnemonic(keyevent.vk_t); teethbutton.setselected(true); Programowanie w języku Java 13 Przyciski: JRadioButton JRadioButton birdbutton = new JRadioButton(birdString); birdbutton.setmnemonic(keyevent.vk_b); birdbutton.setactioncommand(birdstring); birdbutton.setselected(true); JRadioButton catbutton = new JRadioButton(catString); catbutton.setmnemonic(keyevent.vk_c); catbutton.setactioncommand(catstring); JRadioButton dogbutton = new JRadioButton(dogString); dogbutton.setmnemonic(keyevent.vk_d); dogbutton.setactioncommand(dogstring); JRadioButton rabbitbutton = new JRadioButton(rabbitString); rabbitbutton.setmnemonic(keyevent.vk_r); rabbitbutton.setactioncommand(rabbitstring); JRadioButton pigbutton = new JRadioButton(pigString); pigbutton.setmnemonic(keyevent.vk_p); pigbutton.setactioncommand(pigstring); ButtonGroup group = new ButtonGroup(); group.add(birdbutton); group.add(catbutton); group.add(dogbutton); group.add(rabbitbutton); group.add(pigbutton); Programowanie w języku Java 14 7

Komponent: JComboBox String[] petstrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" }; JComboBox petlist = new JComboBox(petStrings); petlist.setselectedindex(4); petlist.seteditable(true); Programowanie w języku Java 15 Tworzenie Menu (1) Programowanie w języku Java 16 8

Tworzenie Menu (2) Programowanie w języku Java 17 Tworzenie Menu (3) JMenuBar menubar; JMenu menu, submenu; JMenuItem menuitem; JRadioButtonMenuItem rbmenuitem; JCheckBoxMenuItem cbmenuitem; menubar = new JMenuBar(); menu = new JMenu("A Menu"); menu.setmnemonic(keyevent.vk_a); menu.getaccessiblecontext().setaccessibledescription( "The only menu in this program that has menu items"); menubar.add(menu); menuitem = new JMenuItem("A text-only menu item", KeyEvent.VK_T); menuitem.setaccelerator(keystroke.getkeystroke( KeyEvent.VK_1, ActionEvent.ALT_MASK)); menuitem.getaccessiblecontext().setaccessibledescription( "This doesn't really do anything"); menu.add(menuitem); menuitem = new JMenuItem("Both text and icon", new ImageIcon("images/middle.gif")); menuitem.setmnemonic(keyevent.vk_b); menu.add(menuitem); menuitem = new JMenuItem(new ImageIcon("images/middle.gif")); menuitem.setmnemonic(keyevent.vk_d); menu.add(menuitem); Programowanie w języku Java 18 9

Tworzenie Menu (4) menu.addseparator(); ButtonGroup group = new ButtonGroup(); rbmenuitem = new JRadioButtonMenuItem("A radio button menu item"); rbmenuitem.setselected(true); rbmenuitem.setmnemonic(keyevent.vk_r); group.add(rbmenuitem); menu.add(rbmenuitem); rbmenuitem = new JRadioButtonMenuItem("Another one"); rbmenuitem.setmnemonic(keyevent.vk_o); group.add(rbmenuitem); menu.add(rbmenuitem); menu.addseparator(); cbmenuitem = new JCheckBoxMenuItem("A check box menu item"); cbmenuitem.setmnemonic(keyevent.vk_c); menu.add(cbmenuitem); cbmenuitem = new JCheckBoxMenuItem("Another one"); cbmenuitem.setmnemonic(keyevent.vk_h); menu.add(cbmenuitem); Programowanie w języku Java 19 Tworzenie Menu (5) menu.addseparator(); submenu = new JMenu("A submenu"); submenu.setmnemonic(keyevent.vk_s); menuitem = new JMenuItem("An item in the submenu"); menuitem.setaccelerator(keystroke.getkeystroke( KeyEvent.VK_2, ActionEvent.ALT_MASK)); submenu.add(menuitem); menuitem = new JMenuItem("Another item"); submenu.add(menuitem); menu.add(submenu); menu = new JMenu("Another Menu"); menu.setmnemonic(keyevent.vk_n); menu.getaccessiblecontext().setaccessibledescription( "This menu does nothing"); menubar.add(menu); frame.setjmenubar(menubar); Programowanie w języku Java 20 10

Rozmieszczanie komponentów w kontenerach Kontenery: główne: JFrame, JDialog, Japplet pośrednie: JPanel, Rozmieszczanie komponentów: menadżer rozmieszczenia (LayoutManager): BorderLayout BoxLayout CardLayout FlowLayout GridBagLayout GridLayout SpringLayout np.contentpane.setlayout(new FlowLayout()); Programowanie w języku Java 21 BorderLayout (domyślny) JButton button = new JButton("Button 1 (PAGE_START)"); pane.add(button, BorderLayout.PAGE_START); button = new JButton("Button 2 (CENTER)"); button.setpreferredsize(new Dimension(200, 100)); pane.add(button, BorderLayout.CENTER); button = new JButton("Button 3 (LINE_START)"); pane.add(button, BorderLayout.LINE_START); button = new JButton("Long-Named Button 4 (PAGE_END)"); pane.add(button, BorderLayout.PAGE_END); button = new JButton("5 (LINE_END)"); pane.add(button, BorderLayout.LINE_END); Programowanie w języku Java 22 11

BoxLayout pane.setlayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); Programowanie w języku Java 23 CardLayout JPanel cards; final static String BUTTONPANEL = "JPanel with JButtons"; final static String TEXTPANEL = "JPanel with JTextField"; public void addcomponenttopane(container pane) { JPanel comboboxpane = new JPanel(); String comboboxitems[] = { BUTTONPANEL, TEXTPANEL }; JComboBox cb = new JComboBox(comboBoxItems); cb.seteditable(false); cards = new JPanel(new CardLayout()); cb.additemlistener(this); cards.add(card1, BUTTONPANEL); comboboxpane.add(cb); cards.add(card2, TEXTPANEL); JPanel card1 = new JPanel(); pane.add(comboboxpane, card1.add(new JButton("Button 1")); BorderLayout.PAGE_START); card1.add(new JButton("Button 2")); pane.add(cards, card1.add(new JButton("Button 3")); BorderLayout.CENTER); JPanel card2 = new JPanel(); } card2.add(new JTextField("TextField", 20)); Programowanie w języku Java 24 12

FlowLayout i GridLayout FlowLayout (domyślny dla JPanel) GridLayout (rozmieszczanie wg. siatki) Programowanie w języku Java 25 GridBagLayout i SpringLayout Programowanie w języku Java 26 13

Koniec Programowanie w języku Java 27 14