wprowadzenie do programowania (3/3)
Transkrypt
wprowadzenie do programowania (3/3)
[1] Programowanie Multimediów Programowanie Multimediów JAVA wprowadzenie do programowania (3/3) [2] Programowanie Multimediów Programowanie Multimediów Czym jest aplikacja Java Web Start ? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą być z niej uruchamiane. Nie wymagają do pracy połączenia internetowego (w przeciwieństwie do apletów). Wszelkie pliki wymagane przez aplikacje JAWS są składowane na dysku lokalnym (po pierwszym uruchomieniu/pobraniu z sieci). Proces instalacji jest rozszerzeniem *.jnlp. zdefiniowany przez krótki plik XML z [3] Programowanie Multimediów Programowanie Multimediów JNLP JNLP (Java Network Launching Protocol) jest specyfikacją bazującą na XLMu i służącą do obsługi technologii Java WebStart Java Web Start nie stawia znaczących ograniczeń w sposobie tworzenia kodu programu. W praktyce istnieje możliwość łatwego przystosowania apletu lub aplikacji Javy do pracy w JNLP. JNLP ma wiele implementacji (m. in. open-source) : - JAWS - Open JNLP (http://openjnlp.nanode.org/) - Rachel (http://rachel.sourceforge.net/) - Netx (http://jnlp.sourceforge.net/netx) - DeployDirector (http://www.quest.com/deploydirector/) [4] Programowanie Multimediów Programowanie Multimediów JNLP - implementacje [5] Programowanie Multimediów Programowanie Multimediów cecha aplet Aplikacja Java Web Start Wejście na stronę WWW Pobranie i zapisanie na dysku lokalnym Kliknięcię na odnośniku Wymaga przeglądarki Musi czekać na załadowanie za każdym razem Sposób instalacji Automatyczna aktualizacja Podpisywane cyfrowo Zwykle / JRE Brak (JRE może być instalowane automatycznie) JRE powiązanie plików JNLP z javaw s.exe Serwer – wymagania początkowe Zwykły serwer HTTP (dla stron WWW) Brak Obsługa typu applicat ion/xjava-jnlp-file MIME Położenie plików Serwer lub lokalnie (wymaga podpisywania) Lokalnie w dowolny sposób Automatycznie przypisywane na dysku lokalnym Standardowa (elementy cache'u) duża Duża (ponowne ładowanie odbywa się wyłącznie w sytuacji zmiany zawartości na serwerze) Niska (opóźnienia spowodowane przeglądarką) Średnia Średnia Klient – wymagania początkowe Szybkość startu Szybkość pracy [6] Programowanie Multimediów Programowanie Multimediów Java Webstart a przeglądarka internetowa sprawdzenie, czy używana przeglądarka obsługuje JAWS (i JNLP) odbywa się z poziomu JavaScriptu w następujący sposób: <script language="javascript" type="text/javascript"> <!-if ( navigator.mimeTypes && navigator.mimeTypes.length && navigator.mimeTypes[ 'application/x-java-jnlp-file' ] ) document.write( "Your browser appears to be already configured properly for Java Web Start." ); else document.write( "Your browser is not configured properly for Java Web Start *.jnlp and application/x-java-jnlp-file MIME types." ); // --> </script> [7] Programowanie Multimediów Programowanie Multimediów Java Webstart a przeglądarka internetowa [8] Programowanie Multimediów Programowanie Multimediów Java Webstart a bezpieczeństwo Dla zwiększenia bezpieczeństwa użytkownika do JAWS wprowadzono następujące mechanizmy: - potwierdzanie operacji dostępu do pików lokalnych [9] Programowanie Multimediów Programowanie Multimediów Java Webstart a bezpieczeństwo Dla zwiększenia bezpieczeństwa użytkownika do JAWS wprowadzono następujące mechanizmy: - informację o tym, że okno pochodzi ze środowiska JAVY Programowanie Multimediów Programowanie Multimediów Konfiguracja JNLP <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.5+" codebase="file://localhost/C:/Documents and Settings/AllUsers/Dokumenty/dydaktyka/materialy/ONM_MGR_2006/j ava/przyklady" href="AppletApplication.jnlp"> <applet-desc documentBase="file://localhost/C:/Documents and Settings/AllUsers/Dokumenty/dydaktyka/materialy/ONM_MGR_2006/j ava/przyklady" name="AppletApplication" main-class="AppletApplication" width="540" height="310"> </applet-desc> </jnlp> [10] [11] Programowanie Multimediów Programowanie Multimediów Osadzanie apletu w dokumencie HTML w dokumencie przekazywanie następujący sposób: argumentów odbywa się w <HTML> <BODY> <applet code="Parametryzacja" width=300 height=150> <param name="parametr1" value="zawarosc1" > <param name="parametr2" value="zawarosc2" > <param name="parametr3" value="zawarosc3" > </applet> </BODY> </HTML> [12] Programowanie Multimediów Programowanie Multimediów Osadzanie apletu w dokumencie HTML w aplecie odbieranie argumentów odbywa się w następujący sposób: String param; public void init() { param = getParameter("parametr1"); } Programowanie Multimediów Programowanie Multimediów Wstawianie plików graficznych W pakiecie java.awt jest umieszczona klasa Image, która definiuje zachowania obrazów. Można korzystać z obrazów zapisanych w formatach GIF i JPEG. Aby obraz pokazać w aplecie, musimy wykonać dwie operacje: 1)skopiować plik graficzny do apletu; 2)wyświetlić ten plik. Metoda getImage ( ) klasy Applet służy do kopiowania pliku graficznego do apletu. Wynikiem działania tej metody jest obiekt klasy Image. Metodę getImage ( ) można wywołać na dwa sposoby: getImage ( < adres sieciowy > ) getImage ( < adres bazowy >, < adres względny > ) Adresy sieciowy i bazowy są obiektami klasy URL, a adres względny − łańcuchem znaków. [13] [14] Programowanie Multimediów Programowanie Multimediów [15] Programowanie Multimediów Programowanie Multimediów [16] Programowanie Multimediów Programowanie Multimediów Rysowanie prymitywów Programowanie Multimediów Programowanie Multimediów Przygotowanie animacji Klatki bardziej złożone należy przygotować zawczasu i skopiować do tablicy typu Image. Wyświetlanie elementów tej tablicy powinno przebiegać w osobnym wątku. Przed wyświetleniem kolejnej klatki animacyjnej należy wymazać z ekranu klatkę poprzednią Robi to automatycznie metoda repaint ( ). Wywołuje ona bowiem metodę public void update(Graphics g) { g.clearRect(0, 0, width, height); paint(g); } Wywołanie metody repaint ( ) bez parametrów powoduje natychmiastowe przerysowywanie całego apletu. Zwykle stosowane są wersje z poniższymi parametrami: [17]