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

Podobne dokumenty