Programowanie komponentowe

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

DOSTĘP DO METOD I ZMIENNYCH. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001)

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

DOSTĘP DO METOD I ZMIENNYCH, TABLICE. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla kaŝdego, Helion 2001)

POLIMORFIZM, INTERFEJSY, PROGRAMOWANIE ZDARZENIOWE

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników

Języki i metody programowania Java Lab2 podejście obiektowe

Języki i metody programowania Java INF302W. Wykład 1 (część 1) na podstawie Autor Dr inż. Zofia Kruczkiewicz

LABORATORIUM 7 Cel: 1_1

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Programowanie obiektowe zastosowanie języka Java SE

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Projektowanie aplikacji internetowych laboratorium

Kontenery i komponenty graficzne

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

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

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

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Programowanie zdarzeniowe

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Programowanie w Internecie. Java

Zastosowanie komponentów EJB typu Session

Języki i metody programowania Java. Wykład 2 (część 2)

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

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie komponentowe 5

Elementy języka Java

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

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

Aplikacje RMI Lab4

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

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

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Wykład 7: Pakiety i Interfejsy

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Wykład 5 Okna MDI i SDI, dziedziczenie

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

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Aplikacja wielow tkowa prosty komunikator

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Programowanie obiektowe i zdarzeniowe

Aplikacja wielowątkowa prosty komunikator

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

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

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Multimedia JAVA. Historia

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Tworzenie elementów graficznych

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

1 Atrybuty i metody klasowe

Zaawansowane aplikacje internetowe laboratorium

Java - interfejs graficzny

INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna.

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Zaawansowane aplikacje internetowe - laboratorium

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

Aplikacje RMI

Aplikacje w środowisku Java

Informatyka I : Tworzenie projektu

Programowanie wielowarstwowe i komponentowe

Programowanie obiektowe

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

II Tworzenie klasy Prostokąt dziedziczącej z klasy wątku

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

Programowanie obiektowe

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Programowanie obiektowe

Zaawansowane aplikacje WWW - laboratorium

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

KLASY, INTERFEJSY, ITP

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

WPROWADZENIE DO JĘZYKA JAVA

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

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

JAVA CZ.2 Programowanie obiektowe. poniedziałek, 20 kwietnia 2009

Programowanie obiektowe

Comparable<Klasa_uzytkownika>

Klasy i obiekty cz II

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Transkrypt:

Programowanie komponentowe Aplety w aplikacjach typu Visual Web Java Server Faces Autor:

Struktura wykładu 1. Tworzenie uniwersalnego programu graficznego 2. Program typu Java Application wykonanie programu 3. Tworzenia apletu (drugi sposób typ projektu Java Class Library) 4. Tworzenie projektu typu Visual Web Java Sever Faces VWJSF używającego apletu

class Punkt { protected int x, y; 1. Tworzenie uniwersalnego programu graficznego public Punkt(int wspx, int wspy) { x = wspx; y = wspy; public int podajx() { return x; public int podajy() { return y; public double odleglosc(punkt p) { return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); public void rysuj(graphics g) { Graphics2D g2d = (Graphics2D)g; Color pedzel = new Color(255,0,0); g2d.setcolor(pedzel); g2d.filloval(x,y,5,5); public void przesun(int dx, int dy, int a, int b) { x+=dx; y+=dy; if (x>a x<1) x=5; if (y>b y<1) y=2;

class Kwadrat extends Punkt { protected int dlugosc; public Kwadrat(int wspx, int wspy, int dl) { super(wspx,wspy); dlugosc=dl; public void przesun(int dx, int dy, int a, int b) { super.przesun(dx,dy, a, b); //przesuwanie dlugosc+=dx+dy; //i skalowanie if (dlugosc > 30 dlugosc <10) dlugosc=20; public void rysuj(graphics g) { Graphics2D g2d=(graphics2d)g; Color pedzel=new Color(0,255,0); g2d.setcolor(pedzel); g2d.fillrect(x,y,dlugosc,dlugosc);

class Figury { protected int N=6; protected int biezacy=0; //wybrana figura do animacji protected Punkt figury[]; public Figury() { wypelnij(); public void wypelnij() { figury =new Punkt[N]; for (int i=0; i<figury.length; i++) { figury[i]=new Punkt(i*22,i*22); if (i<figury.length-1) figury[++i]= new Kwadrat (i*44,i*44,20); public void wybierz_biezaca_figure(int pom) { if (!(pom>=0&& pom<n)) pom=0; biezacy=pom; System.out.println(pom); public void przesun(int dx, int dy, int maxx, int maxy) { figury[biezacy].przesun(dx, dy, maxx, maxy); public void rysuj(graphics g) { for (int i=0; i<figury.length; i++) //automatyczne rysowanie albo punktu albo kwadratu figury[i].rysuj(g);

class Panel extends JPanel implements KeyListener // klasa dostarczająca zawartość graficzną dla ramki (JFrame) { public Figury rys = new Figury(); public Panel() { super(); addkeylistener(this); setfocusable(true); public void paintcomponent(graphics g) //przedefiniowanie metody klasy JPanel { super.paintcomponent(g); rys.rysuj(g); //dodanie tej linii do programu wywołuje standardowe czyszczenie okna //automatyczne rysowanie albo punktu albo kwadratu

public void keypressed (KeyEvent evt) //reakcja na klawisze strzałek //Virtual keys (arrow keys, function keys, etc) - handled with keypressed() listener. { int dx=0, dy=0, zmiana; Random r=new Random(); if (evt.isshiftdown()) implementacja metod zmiana = r.nextint(10); Interfejsu KeyListener else zmiana =r.nextint(150); switch (evt.getkeycode()) { case KeyEvent.VK_LEFT : dx -= zmiana; break; case KeyEvent.VK_RIGHT: dx += zmiana; break; case KeyEvent.VK_UP : dy -= zmiana; break; case KeyEvent.VK_DOWN : dy += zmiana; break; rys.przesun(dx,dy, getwidth(),getheight()); repaint(); //odwieżenie widoku okna public void keyreleased (KeyEvent evt) //metoda pusta, niewykorzystana, dlatego { //implementowana jako pusta public void keytyped (KeyEvent evt) //obsługa naciskanych klawiszy alfanumerycznych //Characters (a, A, #,...) - handled in the keytyped() listener. { char znak = evt.getkeychar(); //reakcja na przycisku na naciśnięcie klawisza int pom=(int)znak-48; rys.wybierz_biezaca_figure(pom); //zapamiętanie numeru wybranej figury System.out.println(biezacy); repaint(); //odświeżenie widoku okna //obliczenie indeksu figury w tablicy figury z kodu ASCCI klawisza

2. Program typu Java Application wykonanie programu public class Obraz6_1 extends JFrame { protected Panel obraz; public Obraz6_1() { super ("Obraz6_1"); setsize(400,400); Stan początkowy ekranu po narysowaniu figur setdefaultcloseoperation(jframe.exit_on_close); obraz=new Panel(); setcontentpane(rysunek); setvisible(true); public static void main(string args[]) { Obraz6_1 obraz=new Obraz6_1(); Stan ekranu po narysowaniu figur po naciśnięciu klawisza 4 i przesunięciu wybranej figury klawiszami strzałek w nowe położenie reakcja figur na zdarzenie od klawiszy funkcyjnych i zwykłych.

3. Tworzenia apletu (drugi sposób) 1) Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories kategorię projektu Java. W oknie Projects, wybierz typ projektu Java Class Library. Po naciśnięciu klawisza Next dokończ tworzenie pliku na kolejnym formularzu podaj nazwę (np. Aplet_1) i położenie projektu. 2) Kliknij prawym klawiszem na nazwę projektu w oknie Projects. Z wyskakującego menu wybierz New\Other. Na ukazanym formularzu w oknie Categories, wybierz kategorię pliku Java. W oknie Files Types wybierz JApplet. Naciśnij klawisz Next. 3) Podaj nazwę apletu w polu Class Name (np. Aplet_1). W polu Package podaj nazwę nowego pakietu, do którego będzie należał aplet (np. aplet_1). 4) Naciśnij przycisk Finish. Projekt zawiera aplet w podanym pakiecie. Plik apletu staruje w oknie edytora. 5) Zaprojektuj kod w trybie Source. 6) Dodaj plik typu Obraz6_1.java np. kopiując plik z programu typu Java Application (punkt 1 i 2 wykładu). 7) Kliknij prawym klawiszem i wybierz pozycję Build z wyskakującego menu. 8) Kliknij prawym klawiszem na plik typu applet (tutaj Aplet_1) i wybierz pozycję Run File z wyskakującego menu.

Ad 1)

Ad 1) cd.

Ad 2)

Ad 3)

Ad 4)

Ad 5) i 6)

package aplet_1; import javax.swing.japplet; /** * * @author kruczkiewicz */ public class Aplet_1 extends JApplet { /** * Initialization method that will be called after the applet is loaded * into the browser. */ public void init() { Panel rys = new Panel(); rys.addkeylistener(rys); rys.setfocusable(true); setcontentpane(rys); // TODO start asynchronous download of heavy resources // TODO overwrite start(), stop() and destroy() method

Ad 6) cd - zawartość pliku z klasami uniwersalnymi (1 i 2 punkt wykładu)

Ad 7) uruchomienie programu jako aplikacji (metoda main)

Ad 7) uruchomienie programu jako apletu

4. Tworzenie projektu typu Visual Web Java Sever Faces VWJSF używającego apletu

Wstawienie komponentu typu Hyperlink

Widok Files -Skopiowanie pliku Aplet_1.html i katalogu classes z pokatalogu dist projektu z apletem do katalogu resources w katalogu web projektu typu VWJSF oraz skonfigurowanie property url komponentu Hyperlink plik Aplet_1.html

Zawartość pliku Aplet_1.html - skopiowany z katalogu Build projektu zawierającego aplet

Po wykonaniu Build oraz Deploy widok Files projektu typu VWJSF

1.Uruchomienie aplikacji typu Web 2.Wywołanie apletu po kliknięciu na komponent typu Hyperlink