Mat3


JAVA (IDE NetBeans) Materiały pomocnicze do Zajęć 3 strona -1
Aplet
Aplet to obiekt Javy - wyposa\ony w graficzny interfejs i osadzony w dokumencie HTML.
Klasy składające się na aplet są dynamicznie ładowane poprzez sieć i uruchamiane lokalnie przez przeglądarkę.
Własności apletów
" Aplety w odró\nieniu od aplikacji nie posiadają metody main().
" Główna klasa ka\dego apletu musi być klasą publiczną, dziedziczyć z predefiniowanej klasy java.applet.Applet,
a jej nazwa musi być taka jak nazwa pliku, w którym się znajduje.
" Poprzez dziedziczenie, aplet uzyskuje szereg metod, które są zdefiniowane w klasie nadrzędnej,
a w szczególności:
o mo\liwość komunikowania się z przeglądarką,
o zdolność do obsługi graficznego interfejsu u\ytkownika.
W odró\nieniu od aplikacji aplet nie zaczyna działania od metody main(). Cykl \ycia apletu wyznaczają cztery
metody zdefiniowane w klasie Applet: init(), start(), stop() i destroy().
Domyślnie metody te nic nie robią i jeśli nie są u\ywane, to nie trzeba ich przedefiniowywać
Metoda init()
" Wykonywanie apletu zaczyna się od metody init().
" Metoda ta powinna być wywoływana tylko raz w ciągu całego \ycia apletu, zaraz po załadowaniu strony z apletem.
" Umieszcza się w niej kod potrzebny do zainicjowania apletu, np. nadający zmiennym wartości początkowe,
związany z ustawieniem czcionek, kolorów, koloru tła ekranu, itp.
Metoda start()
" Metoda ta jest wywoływana zaraz po powrocie z metody init().
" U\ywa się jej do uruchamiania wątków, animacji, wysyłania odpowiednich komunikatów do obiektów
pomocniczych lub odtwarzania dzwięków związanych z załadowaniem apletu.
" Metoda ta mo\e być wielokrotnie wywoływana podczas cyklu \ycia apletu, na przykład przy ka\dym powrocie na
stronę z apletem, gdy staje się ona stroną bie\ącą w przeglądarce.
" Zwykle jeśli wyposa\ymy aplet w metodę start() powinniśmy go wyposa\yć równie\ w metodę stop.
Metoda stop()
" Metody tej zwykle u\ywa się do zatrzymania wątków oraz do przeprowadzenia czynności porządkowych.
" Metoda stop() jest wywoływana, gdy okno przeglądarki, w której znajduje się aplet, jest minimalizowane do
ikony, zasłaniane przez inne okno, lub gdy otwierana jest w nim nowa strona WWW.
Metoda destroy()
" Metoda destroy() jest wywoływana, gdy aplet kończy swoje działanie  tu\ przed usunięciem apletu z pamięci.
" Jest ona rzadko u\ywana, poniewa\ Java posiada mechanizm automatycznego zwalniania nieu\ywanych zasobów
pamięci.
" Poprzez przedefiniowanie (override) metody destroy() mo\na zrealizować zatrzymanie dowolnego wątku lub
usunięcie obiektów utworzonych przez aplet.
Metoda paint
Metoda paint() jest zdefiniowana w java.awt.Component, która jest klasą nadrzędną dla klasy java.awt.Applet.
Metoda ta słu\y do wyświetlania tekstu i grafiki na aplecie.
public void paint(Graphics g)
{
g.drawString("Hello World", 20, 20);
}
Jedynym parametrem metody paint() jest referencja do obiektu klasy Graphics, który reprezentuje tzw. graficzny
kontekst urządzenia (Graphics Device Context).
Graficzny kontekst jest swoistym urządzeniem wyjściowym apletu, tworzonym przez przeglądarkę. Jest on
przekazywany do metody paint() wtedy, gdy zachodzi potrzeba pisania lub rysowania na wyjściu apletu (ekran,
bufor pamięci).
public void paint(Graphics gDC) {
Font font = new Font("Helvetica", Font.PLAIN, 16);
Color c = new Color(128, 20,80);
gDC.setFont(font);
gDC.setColor(c);
setBackground(Color.orange);
gDC.drawString("Hello", 20, 20);
}
Klasa Graphics
Klasa Graphics z pakietu java.awt - jest klasą bazową dla wszystkich graficznych kontekstów urządzenia.
Jej metody umo\liwiają:
o uzyskiwanie i ustalanie własności kontekstu graficznego
Materiały do u\ytku wewnętrznego (Opracował: Zbigniew JANIK)
JAVA (IDE NetBeans) Materiały pomocnicze do Zajęć 3 strona -2
o wypisywanie tekstów,
o rysowanie linii, prostokątów, owali, łuków i wielokątów,
o wyświetlanie obrazów - obiektów klasy Image
Metody klasy Graphics
Metody tej klasy wywołujemy na rzecz obiektu klasy Graphics
" drawLine(int x1, int y1, int x2, int y2 )
rysuje linię prostą: (x1, y1)  punkt początkowy, (x2, y2) - końcowy
" drawRect (int x, int y, int w, int h )
rysuje Prostokąt: x, y - współrzędne lewego górnego rogu prostokąta; w, h - szerokość i wysokość
" fillRect (int x, int y, int w, int h )
rysuje Prostokąt wypełniony bie\ącym kolorem
" drawArc(int x, int y, int w, int h, int alfa, int beta)
rysuje Auk pokrywający określony prostokąt; alfa  kąt określający początek łuku, beta  rozmiar kąta
" drawPolygon(int[] x, int[] y, int n)
rysuje Wielokąt: tablice punktów x i y określają współrzędne kolejnych wierzchołków wielokąta, n - to liczba
punktów.
" fillPolygon(int[] x, int[] y, int n)
rysuje Wielokąt wypełniony kolorem
" drawPolyline(int x[], int y[], int n)
rysuje Linię łamaną  otwarta
" drawString(String s, int x, int y)
wyświetla tekst przechowywany w zmiennej s, początek tekstu określają współrzędne x, y.
Osadzanie apletu w kodzie html


Pierwszy aplet


code ='nazwaKlasy.class
codebase = "URL"
width = "szerokość"
height = "wysokość"
name = "nazwa apletu"
align = "poło\enie"
vspace = "odstęp w pionie"
hspace = "odstęp w poziomie"
>





Elementy interfejsu graficznego z pakietu java.awt
Pakiet java.awt definiuje szereg klas u\ytecznych do tworzenia graficznego interfejsu apletu lub aplikacji. W ćwiczeniu
wykorzystano następujące klasy z tego pakietu:
" Klasa Component
Klasa Component jest nadrzędną klasą dla klasy Applet. Udostępnia ona metodę paint(), która słu\y do
wyświetlania grafiki i tekstu na kanwie apletu. Metoda paint()ma sygnaturę:
public void paint(Graphics g);
jedynym parametrem metody jest referencja do obiektu klasy Graphics, który stanowi graficzną kanwę obrazu
apletu, reprezentującą tzw. graficzny kontekst urządzenia (Graphics Device Context). Np. obiekt klasy Graphics
reprezentujący kontekst graficzny strony HTML jest przekazywany przez przeglądarkę metodzie paint(),
wywołanej po załadowaniu klasy apletu.
Obok metody paint() klasa Component posiada m.in. u\yte w ćwiczeniu metody:
setBackground(Color kolor) nadaje kolor tła komponentu graficznego
setSize(int szerokość, int wysokość) zmienia rozmiary komponentu
Układ współrzędnych ekranowych
" Początek układu współrzędnych ekranowych (0,0) znajduje się w lewym górnym rogu okna apletu.
Materiały do u\ytku wewnętrznego (Opracował: Zbigniew JANIK)
JAVA (IDE NetBeans) Materiały pomocnicze do Zajęć 3 strona -3
" Zwiększanie wartości współrzędnych następuje w miarę przesuwania się w prawo i w dół.
" Maksymalne wartości współrzędnych mo\na określić dziedziczonymi od klasy Component metodami
getWidth(), getHeight() zwracającymi odpowiednio szerokość i wysokość okna apletu.
Klasa Font
Czcionkę reprezentuje obiekt klasy Font, tworzony za pomocą konstruktora: Font(krój, styl, rozmiar);
gdzie: krój  to łańcuch tekstowy określający krój czcionki np. Dialog ,  SanSerif , "Helvetica"
styl - jest jedną ze stałych statycznych typu int z klasy Font: Font.BOLD, Font.ITALIC, Font.PLAIN
rozmiar - to liczba całkowita określająca wielkość czcionki w punktach
Klasa FontMetrics
Aby dobrze rozplanować poło\enie tekstu, nale\y uzyskać charakterystyki pisma kontekstu graficznego. Umo\liwia
to metoda g.getFontMetrics(), która zwraca metrykę (obiekt klasy FontMetrics ) dla bie\ącej czcionki
kontekstu graficznego g. W klasie FontMetrics zdefiniowana jest z kolei metoda o sygnaturze int
stringWidth(String s), która zwraca szerokość obszaru zajmowanego przez napis s. Zło\enie metod
g.getFontMetrics().stringWidth(s) zwróci szerokość napisu s wyświetlonego bie\ącą czcionką.
Klasa Color
Kolor jest obiektem klasy Color, która ma kilka konstruktorów. Instrukcja deklarująca i tworząca określony kolor
ma postać:
Color nazwa = new Color(r, g, b);
Parametry r, g, b są liczbami całkowitymi z zakresu 0..255 i reprezentują składowe reprezentacji RGB (R-red, G-
green, B-blue) definiowanego koloru (teoretycznie mo\na otrzymać w ten sposób ponad 16 milionów kolorów).
Klasa Color zawiera kilkanaście standardowych wartości kolorów. Są one zadeklarowane, jako stałe klasowe, np.
public final static Color blue = new Color(0, 0, 255); Zatem mo\na je u\ywać bez tworzenia
nowych obiektów klasy Color, np. Color.BLUE, Color.orange itp.
Nazwy stałych określających kolory mo\na pisać małymi lub wielkimi literami dzięki dodatkowym deklaracjom,
występującym w definicji klasy Color.
Wybrane funkcje matematyczne i stałe klasy Math
Funkcje matematyczne Javy są zawarte w klasie Math.
Metody klasy Math -zwykle operują na liczbach rzeczywistych typu double i zwracają wartości typu double.
Poni\ej przedstawione są wybrane metody klasy Math.
Metoda Opis
abs(double d)
Zwraca wartość bezwzględną liczby typu double
abs(int n)
Zwraca wartość bezwzględną liczby typu int
cos(double d)
Zwraca wartość funkcji cosinus
sin(double d)
Zwraca wartość funkcji sinus
tan(double d)
Zwraca wartość funkcji tangens
exp(double d)
Zwraca wartość funkcji eksponencjalnej (e do potęgi d)
log((double d)
Zwraca wartość logarytmu naturalnego (przy podstawie e)
log10(double d)
Zwraca wartość logarytmu przy podstawie 10
max(double a,double b)
Zwraca większą z dwóch wartości typu double
max(int k, int n)
Zwraca większą z dwóch wartości typu int
min(double a, double b)
Zwraca mniejszą z dwóch wartości typu double
min(int k, int n)
Zwraca mniejszą z dwóch wartości typu int
pow(double a,double b)
Zwraca wartość potęgi o podstawie a i wykładniku b
round(double a)
Zwraca liczbę całkowitą powstałą z zaokrąglenia liczby a
sqrt(double x)
Zwraca pierwiastek kwadratowy z liczby x
toDegrees(double d)
Zamienia wartość kąta w radianach na stopnie
toRadians(double d)
Zamienia wartość kąta w stopniach na radiany
Klasa Math zawiera równie\ dwa pola z wartościami stałych stosowanych w obliczeniach matematycznych:
Nazwa pola Opis
PI
Zawiera wartość liczby pi=3,141592653589793&
E
Zawiera wartość liczby Eulera e=2.718281828459045&
(Podane wy\ej wartości są najbli\szym mo\liwym przybli\eniem odpowiednich stałych matematycznych, ze względu
na skończoną dokładność przedstawienia liczb rzeczywistych w formacie zmiennoprzecinkowym typu double.)
Materiały do u\ytku wewnętrznego (Opracował: Zbigniew JANIK)


Wyszukiwarka

Podobne podstrony:
mat3 s2 notatki
mat3
mat3
Ewangelia wg św Mateusza Ewangelia Mat3

więcej podobnych podstron