Java-podstawy_jezyka_wyklad5
Transkrypt
Java-podstawy_jezyka_wyklad5
Wydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego 17.12.2010 Łódź Java - podstawy języka, wykład 5 1 Graficzny Interfejs Użytkownika (GUI) Java 1.0 ▪ AWT (Abstract WindowToolkit) bardzo niewygodne i nie intuicyjne środowisko Java 1.1 ▪ Poprawione AWT Java 1.2 ▪ JFC (Java Foundation Clases) ▪ Swing Alternatywne ▪ SWT (Standard Widget Toolkit) Biblioteka IBM (Eclipse) ▪ Java Fx Jawoski odpowiednik Flex(Flash), Silverlight Java - podstawy języka, wykład 5 2 Podstawowe własności ▪ ▪ ▪ ▪ Jasny czytelny kod Pełna obiektowość (AWT od Javy 1.1) Intuicyjne nazewnictwo Programowanie = budowa z klocków ▪ JavaBeans ▪ GUI Builders ▪ Szybkie programowanie interfejsu ▪ GUI platformowo niezależne Java - podstawy języka, wykład 5 3 Podstawowe składniki Elementy graficzne ▪ Przyciski, pola tekstowe, panele … Obsługa zdarzeń ▪ Obsługa myszy, klawiatury ▪ Zdarzenia systemowe Zamkniecie okna Zmiana rozmiaru okna Java - podstawy języka, wykład 5 4 Applet Program uruchamiany w przeglądarce ▪ Ograniczenia (Piaskownica - SandBox) Podpisywanie appletów Aplikacja Zupełnie niezależny program ▪ Bez ograniczeń Oba uruchamia się w inny sposób ▪ Można łączyć oba typy Java - podstawy języka, wykład 5 5 Program uruchamiany w przeglądarce Ograniczenia ▪ Brak dostępu do dysku Odczyt i Zapis ▪ Ograniczony dostęp do sieci Połączenie tylko ze stroną domową appletu Zalety ▪ Nie trzeba instalować ▪ Natychmiastowa aktualizacja i rozprowadzanie ▪ Nie można zaszkodzić klientowi (Sandbox) Java - podstawy języka, wykład 5 6 Klasa JApplet Metody : ▪ init() Uruchamiana przy inicjalizacji ▪ start() Wywoływana przy powrocie „na wierzch” i po init() ▪ stop() Wywoływana przy „ukryciu okna” i przed zakończeniem ▪ destroy() Uruchamiana na sam koniec Java - podstawy języka, wykład 5 7 Programowanie Appletu ContentPane – tafla (Kontener) ▪ Na taflę dodajemy poszczególne elementy ▪ JLabel - etykieta Tworzymy plik html ▪ znacznik <applet ….> </applet> ▪ program HTMLconverter Przeglądarka lub appletviewer Przyklad5_1 Java - podstawy języka, wykład 5 8 Klasa JFrame ▪ ▪ ▪ ▪ dziedziczy po Klasie Container add() - dodajemy obiekty na Ramkę setSize(width,height) - ustalenie rozmiaru setVisible(boolean) - pokaż ramkę Uruchamianie appletu jako aplikacji Przyklad5_2 Java - podstawy języka, wykład 5 9 Rozmieszczanie elementów ▪ setLayout() BorderLayout, FlowLayout, GridLayout, GridBagLayout, BoxLayout Przycisk ▪ JButton ▪ Przyklad5_3 Pola tekstowe JTextField, JTextArea ▪ Przyklad5_4 Java - podstawy języka, wykład 5 10 Dowolny Komponent Lista możliwych zdarzeń ▪ Przypisanie nasłuchu zdarzenia XXX ▪ addXxxListener() ▪ Usunięcie nasłuchu zdarzenia XXX ▪ removeXxxListener() ▪ Co zrobić w przypadku wystąpienia zdarzenia ▪ implementacja interfejsu XxxListener ▪ Przyklad5_5, Przyklad5_6 Java - podstawy języka, wykład 5 11 BorderLayout 5 możliwości (NORTH, SOUTH, WEST, EAST, CENTER) ▪ Przyklad5_7 FlowLayout Umieszczanie po kolei ▪ wierszami od góry , od lewej do prawej ▪ Przyklad5_8 GridLayout Rozmieszczenie jak w tabeli ▪ Przyklad5_9 Java - podstawy języka, wykład 5 12 GridBoxLayout i BoxLayout większa kontrola nad rozmieszczeniem trudniejsze w wykorzystaniu GUI Builders ▪ Graficzne projektowanie interfejsu ▪ Nie Trzeba się bawić w szczegóły ▪ szybkość tworzenia interfejsu ▪ Dodajemy tylko logiczne elementy programu NetBeans, Eclipse i wiele innych Java - podstawy języka, wykład 5 13 Przykładowe komponenty biblioteki Swing Elementy wyświetlające Tekst ▪ JTextField, JTextArea ▪ JEditorPane, JTextPane Przyciski ▪ JButton, JToggleButton ▪ JCheckBox, JRadioButton Listy wyboru ▪ JComboBox ▪ JList Menu, zakładki ▪ JMenu ▪ JTabbedPane Java - podstawy języka, wykład 5 14 Wyskakujące podpowiedzi ▪ JToolTipText Okna dialogowe ▪ JOptionPane, JDialog ▪ JFileChooser, JColorChooser Panel (np. do rysowania) ▪ JPanel Menu, zakładki ▪ JMenu ▪ JTabbedPane Więcej elementów i szczegółowe informacje ▪ Dokumentacja języka ▪ http://java.sun.com/docs/books/tutorial/uiswing/ Java - podstawy języka, wykład 5 15 Komponety pobierające tekst ▪ interpretują HTML ▪ Przyklad5_10 ▪ dodawanie ikon ▪ Przyklad5_11 Mini www browser ▪ JEditorPane, JTextPane ▪ Potrafią one interpretować inne formaty np. rdf można dodawać wybrane formaty Java - podstawy języka, wykład 5 16 Rodzaje komunikatów ▪ JOptionPane ▪ Ostrzeżenia, Komunikaty, Okna wyboru ▪ Przyklad5_12 ▪ JDialog ▪ Dodatkowe okno aplikacji ▪ Przyklad5_13 ▪ JFileChooser, JColorChooser ▪ Okna wyboru pliku, koloru ▪ Przyklad5_14 Java - podstawy języka, wykład 5 17 JavaBeans Klocki dla programisty Dobra współpraca z GUI Builders ▪ Przeciągamy na „formatkę” programu ▪ Ustawiamy właściwości ▪ Wykorzystuje się mechanizm refleksji Java - podstawy języka, wykład 5 18 JavaBean - elementy pola ▪ właściwości fasolki (ziarenka) ▪ private TYP nazwaPola metody ▪ Operujące na właściwościach ▪ public TYP getNazwaPola() {…} ▪ public void setNazwaPola(TYP nazwa) { …} ▪ Obsługa zdarzeń ▪ Inne metody Przyklad5_15 Java - podstawy języka, wykład 5 19 Komponent może być Kontenerem ▪ add() ▪ remove() Obsługa elementów komponentu ▪ getComponent(int ) ▪ Przyklad5_16 Java - podstawy języka, wykład 5 20 Proste rysowanie 2D ▪ JPanel i inne klasy dziedziczące po JComponent ▪ paintComponent(Graphics ) java.awt.Graphics ▪ repaint() ▪ Przyklad5_17 ▪ Java 2D API Grafika 3D (OpenGL) ▪ Java 3D API ▪ JOGL (JSR-231) [JSR: Java Specification Request] Java - podstawy języka, wykład 5 21 Jeden plik Więcej plików ▪ najlepiej spakować ▪ jar – platformowo niezależne archiwum pakujemy cały pakiet (czasem z bibliotekami) ▪ jar –cf nazwa.jar nazwaKatalogu ▪ jar –xf nazwa.jar ▪ Można uruchamiać programy bez rozpakowywania ▪ należy dodać plik określający która klasa jest „główna” Manifest.mf Java - podstawy języka, wykład 5 22 Plik Manifestu: Main-Class: nazwapakietu.KrasaStartowa Pakowanie z manifestem ▪ jar –cfm nazwa.jar manifest.txt nazwaKatalogu Uruchamianie ▪ java –jar nazwa.jar Java - podstawy języka, wykład 5 23 Tworzenie Klucza keytool keytool -genkey -alias nazwaKlucza -keypass haslo Podpisywanie Kluczem jarsigner jarsigner nazwa.jar nazwaKlucza Java - podstawy języka, wykład 5 24 Java Web Start (jnlp) Aplikacje lokalne ▪ Ściągane z zdalnego serwera ▪ ▪ ▪ ▪ Automatyczna aktualizacja po modyfikacji Nie ogranicza nas piaskownica (sandbox) Proste dołączanie bibliotek Wszystkie pakiety muszą być podpisane ▪ Plik .jnlp Java - podstawy języka, wykład 5 25