Co jeszcze mógłby wymyślić Einstein gdyby znał applety Javy?

advertisement
Co jeszcze mógłby wymyślić
Einstein gdyby znał applety Javy?
Dolnośląski Festiwal Nauki i Techniki
Wrocław 2005
Plan
• Bazy danych
• Czat
• Applety
Bazy danych
• Java pozwala na pracę zarówno z prostymi bazami
danych (pliki tekstowe) jak, również z bazami
relacyjnymi (mySQL, Oracle itd.)
• Polimorfizm pozwlający na dziedziczenie metod
obsługujących bazy danych z pakietu java.sql
• JDBC (Java DataBase Connectivity) i ODBC
(Open DataBase Connectivity)
• Książka telefoniczna
Czat
• Java oferuje mechanizm komunikacyjny
oparty na tzw.gniazdkach (ang.sockets)
• Zestaw metod obsługujących usługi
sieciowe zawarto w pakiecie java.net
• Czym są gniazda i w jaki sposób następuje
między nimi wymiana danych?
• Gniazda klienckie, serwerowe, adres IP,
numer portu
Applety
• Czym Applety różnią się od Aplikacji?
• Sandbox - zestaw obostrzeń w jakie
wyposażono Applety w celach
bezpieczeństwa
Applety
• Tworzenie Appletów
• Public class myClass extends
java.applet.Applet{...}
Applety
• Inicjalizacja (ang. Initialization), stanowi
o “zachowaniu” appletu
• Start (ang. Starting), uruchomienie
• Stop
• Usunięcie (ang. Destroying), nie tak
brutalne na jakie może wyglądać
• Painting, tłum. Malowanie, nie
najpoprawniejsze
Applety
• #1 Checkers
Applety
• cd. #1 Checkers
• xpos – zmienna
xpos przechowuje
poczatkową pozycję koła, które porusza się
horyzontalnie;
• ypos – o ile wartość przechowywana przez
zmienną xpos pozostaje stała, o tyle
wartość
ypos jest powiększana, co
powoduje efekt obrotu się koła.
Applety
• cd. #1 Checkers
• Run() - metoda zmienia wartość x i
przemawlowuje
(repaint())
applet
wywołując
efekt
obrotu
koła
z
zachowaniem 100ms opóźnienia pomiędzy
każdym kolejnym ruchem
• paint() - ustawia kolor tła appletu (czarny i
biały)
Applety
• #2 Digital Clock
Applety
• cd. #2 Digital Clock
• class Date – klasa odpowiedzialna za datę i
godzinę wyświetlane przez Applet. Date
jest częścią pakietu java.util
importowanego w linii 3.
• theDate – zmienna przechowuje bieżącą
datę i czas.
Applety
• cd. #2 Digital Clock
• Sleep() - przy wykorzystaniu metody sleep()
linie 14 i 15 powodują wstrzymanie
działania appletu na 1000 ms zanim pętla
zostanie powtórzona.
• Paint() - w liniach 34-37 zostały ustawione
czcionki, jak również data uległa
przeformatowaniu z typu Date na typ
łąńcucha znaków przy wykorzystaniu metody
toString().
Applety
• #3 Lady Bug
Applety
• cd. #3 Lady Bug
• bugimg – zmienna typu Image przechowuje
zdjęcie
• init() - wczytuje zdjęcie
• paint() - wyświetla zdjęcie na ekranie
Applety
• cd. #3 Lady Bug
• drawImage() - korzysta z 6 argumentów :
zdjęcie, kolejne współrzędne x i y
położenia zdjęcia, szerokość i wysokość
zdjęcia, metoda this. Metoda drawImage()
służy do pozycjonowania i dopasowania
rozmiarów zdjęcia.
Applety
• #4 Neko
Applety
• cd. #4 Neko
• Neko
–
to
jedna
z
pierwszych
animowanych
gier na Macintosh,
została napisana przez japończyka Kenji
Gotho w 1989 i zinterpretowana na
wszelkie możliwe języki programowania.
“Neko” oznacza po japońsku “kot”.
Applety
• cd. #4 Neko
• Wczytywanie zdjęć.
• Tworzymy tablicę przechowującą zdjęcia –
nekopics, oraz zmienną typu Image
przechowującą bieżące zdjęcie –
currentimg.
• Metoda init() wczytuje kolejne zdjęcia do
tablicy.
Applety
• cd. #4 Neko
• Animacja zdjęć
• W metodzie void nekorun (int start, int
end){ }, pozycja start stanowi o początku, a
end o końcu animacji. Dla każdej iteracji
pętli ustawia się bieżącą wartość x oraz
bieżące currentimg. Następnie wywoływana
zostaje metoda repaint() oraz pause.
Download