tablice java str5

tablice java str5



JAVA

OBSŁUGA BŁĘDÓW c.d.

Przy przechwytywaniu wielu wyjątków w jednym bloku należy pamiętać o ich hierarchii. Ogólna zasada mówi, że nie ma znaczenia kolejność, o ile wszystkie wyjątki są na jednym poziomie hierarchii, jeśli jednak przechwytywane są wyjątki z różnych poziomów hierarchii, najpierw muszą to być wyjątki bardziej szczegółowe, czyli stojące niżej w hierarchii, a dopiero po nich wyjątki bardziej ogólne, czyli stojące wyżej w hierarchii. Przykład: public static void main (String args[])

{

try{

int liczba *10/0;

}

catch(ArithmeticException e){

System.out.println(e);

ł

catch(RuntimeException e){

System.out.println(e);

}

catch(Exception e){

System.out.println(e);

}

}

Zagnieżdżanie bloków try...catch

Bloki try.. .catch można zagnieżdżać. W jednym bloku przechwytującym wyjątek X może istnieć drugi blok, który będzie przechwytywał wyjątek Y. Schematycznie taka konstrukcja wygląda następująco:

try{

//instrukcje mogące spowodować wyjątek 1 try{

//instrukcje mogące spowodować wyjątek 2 }

catch (TypWyjątku2 identyfi katorWyjątku2){

//obsługa wyjątku 2

}

}

catch (TypWyjątkul identyfi katorWyjątkul){

//obsługa wyjątku 1

Przykład:

public static void main (String args[])

{

Punkt punkt = nuli; int liczba; try{ tryl

liczba -10/0;

}

catch(ArithmeticException e){

System.out.println("Nieprawidłowa operacja arytmetyczna");

System.out.println("Przypisuję zmiennejliczba wartość 10"); liczba « 10;

}

punkt.x ■ liczba;

}

catch(Exception e){

System.out.println(“Błąd ogólny"); System.out.println(e);

)

)

Zgłaszanie wyjątków

Zgłoszenie własnego wyjątku polega na utworzeniu nowego obiektu jednej z klas wyjątków. Za pomocą instrukcji new należy utworzyć nowy obiekt klasy, która dziedziczy (pośrednio lub bezpośrednio) z klasy Throwabl e. W najbardziej ogólnym przypadku będzie to klasa Excepti on. Tak utworzony obiekt musi stać się parametrem instrukcji throw: throw new Exception();

W specyfikacji metody, w której powyższa instrukcja wystąpi, niezbędne jest zaznaczenie, że będzie w niej zgłaszany taki wyjątek. Wymaga to zastosowania instrukcji throws, w ogólnej postaci: specyfikatordostepu [static] [finał] typ_zwracany nazwa_metody(argumenty) throws KlasaWyjątkul, KlasaWyjątku2,

..., KlasaWyjatkun

{

//treść metody

}

Przykład:

public static void main (String args[]) throws Exception {

throw new Exception();

}

Jeżeli zgłaszany wyjątek ma otrzymać własny komunikat, należy przekazać go jako parametr konstruktora klasy Except i on: throw new Exception("komuniat"); lub

Exception exception ■ new Exception("komuniat");    ^

throw exception;

Ponowne zgłaszanie wyjątków

Raz przechwycony wyjątek można zgłosić ponownie (pot. wyrzucić), wykorzystując instrukcję throw. tryl

//instrukcje mogące spowodować wyjątek

)

catch(typTyjątku identyfikatorWyjątku)| //instrukcje obsługujące sytuację wyjątkową

throw indetyfikatorWyjątku

}

Przykład:

public static void main (String args[])

I

try{

int liczba *10/0;

}

catch(ArithmeticException e){

System.out.println("Tu wyjątek został przechwycony");

//ponowne zgłoszenie wyjątku throw e;

}

Tworzenie wyjątków

W Jawie można tworzyć własne klasy wyjątków. Należy napisać klasę pochodną, dziedziczącą pośrednio lub bezpośrednio z klasy

Throwabl e. W praktyce wyjątki najczęściej są wyprowadzane z klasy Exception i klas od niej pochodnych:

public

class nazwa_klasy extends Exception

I

//treść klasy

)

Przykład (nowy wyjątek General Except i on): public

class GeneralException extends Exception

I

}

Zgłoszenie wyjątku General Except i on: public static void main (String args[]) throws GeneralExcepti on

I

throw new GeneralException();

)

Sekcja finally

Do bloku try możemy dołączyć sekcję f i nal 1 y, która będzie wykonana zawsze, niezależnie od tego, co będzie działo się w bloku try. Schematycznie:

tryl

//instrukcje mogące spowodować wyjątek

>

catch()|

//instrukcje sekcji catch

)

finallyl

//instrukcje sekcji finally

}

Sekcję finał ly można zastosować również w przypadku instrukcji, które nie powodują wygenerowania wyjątku. Stosowana jest wtedy konstrukcja try... f i nal 1 y w postaci:

tryl

//instrukcje

)

finallyl

//instrukcje

}

Kod z bloku finally zostanie wykonany zawsze, niezależnie od tego, jakie instrukcje znajdą się w bloku try.

APLETY

Umieszczanie w kodzie HTML

Umieszczenie apletu w kodzie HTHL wymaga użycia znacznika <APLET> w postaci:

<APPLET

CODĘ = "nazwaKlasy.class"

CODEBASE * "URL"

WIDTH * "szerokość"

HEIGHT - "wysokość"

NAME - "nazwa apletu"

ALIGN = "położenie"

VSPACE ■ "odstęp w pionie"

HSPACE " odstęp w pionie "

>

<PARAM NAME = "nazwał" VALUE = "wartośćl">

<PARAM NAME * "nazwan" VALUE = "war-tośćn">

</APPLET>

Istnieje możliwość pominięcia znaczników PARAM i umieszczenia parametrów bezpośrednio w znaczniku <APPLET>:

<APPLET

CODĘ * "nazwaKlasy.class"

<!-- Pozostałe parametry znacznika--> nazwał * wartośćl <!— ... —> nazwan ■ wartoscn

Konstrukcja apletu

Utworzenie apletu wymaga użycia klasy Appl et. Szkielet apletu wygląda następująco:

import java.applet.*;

public

class PierwszyAplet extends Applet

I

public PierwszyAplet()

I

//Konstruktor apletu

)

public void i ni t()

I

//Inicjałizajca apletu...

}

public void start()

I

//Uruchomienie apletu...

)

public void stop()

//Zatrzymanie apletu...

Najprostszy aplet

Aplet wyświetlający na ekranie napis we współrzędnych x = 100, y = 100:

import java.applet.*; import java.awt.*;

public

class PAplet extends Applet

I

public void paint (Graphics gDC)

I

gDC.drawString ("Przykładowy tekst",

100, 100);

}

}

Pobieranie parametrów

Do odczytu wartości parametru wykorzystywana jest metoda getParameter, której jako argument należy przekazać nazwę parametru. Metoda ta zwraca wartość wskazanego argumentu lub wartość nuli, jeżeli parametr nie został uwzględniony w kodzie HTML

Przykład:

<HTML>

<HEAD></HEAD>

<B0DY>

<APPLET

CODĘ * "Aplet"

WIDTH - "300"

HEIGHT * "100"

>

<PARAM NAME="parametrl"

VALUE*"wartość1">

<PARAM NAME="parametr2"

VALUE*"wartość2">

</APPLET>

</B0DY>

</HTML>

import java.applet.*; public

class Aplet extends Applet

{

public void i ni t()

String tekstl * getParameter("para metrl");

String tekst2 = getParameter("para-metr2“);

//wartości parametrów zostaną wyświetlone na //konsoli systemowej System.out.println(tekstl);

System.out.println(tekst2);

Czcionki

Czcionki w Javie dzielą się na dwa rodzaje:

•    czcionki logiczne.

•    czcionki fizyczne.

W uproszczeniu możemy powiedzieć, że czcionki fizyczne to czcionki zależne od systemu, na którym działa maszyna wirtualna, natomiast czcionki logiczne to rodziny czcionek, które muszą być obsługiwane przez każde środowisko uruchomieniowe Javy (JRE).

W środowisku Java I (JDK l.l.X) dostępnych jest sześć czcionek:

•    Courier,

•    Dialog,

•    Dialoglnput,

•    Helretica,

•    TimesRoman,

•    ZapfDingBats.

W nowocześniejszym środowisku Jara 2 (JDK 1.2.X i wyższe) dostępnych jest pięć czcionek:

•    Serif,

•    SansSerif,

•    Monospaced,

•    Dialog.

•    Dialoglnput.

Klasa Font

Do obsługi czcionek służy klasa Font, znajdująca się w pakiecie java.awt. Deklaracja konstruktora klasy Font: Font(String name, int style, int size) Konstruktor przyjmuje trzy argumenty:

•    name — nazwa czcionki,

•    style — krój czcionki,

•    size — wielkość czcionki.

Styl czcionki ustalany jest za pomocą stałych (zmienne finalne) zawartych w klasie Font:

•    Font. BOLD — czcionka pogrubiona,

•    Font.ITALIC — czcionka pochylona,

•    Font.PLAIN — czcionka zwyczajna.

Przykład wyświetlenia napisu na powierzchni apletu:

import java.applet.*; import java.awt.*;

public

class Aplet extends Applet

{

Font sansSerif; public void i ni t()

{

sansSerif ■ new Font("SansSerif", Font.BOLD, 36);

ł

public void paint (Graphics gDC)

{

gDC.setFont(sansSerif); gDC.drawString ("Czcionka SansSerif", 60, 80);

}

}

Kolory

Zmiany koloru, którym domyślnie rysowane są obiekty na powierzchni apletu (domyślnie jest to kolor czarny), można dokonać, wywołując metodę setColor klasy Graphics. Metoda ta jako argument przyjmuje obiekt klasy Col or, określający kolor, który będzie używany w dalszych operacjach.

W klasie tej zostały zdefiniowane 24 statyczne i finalne pola, określające łącznie 12 różnych kolorów:

Nazwa stałej

Reprezentowany kolor

Color.black

czarny

Color.BLACK

czarny

Color.blue

niebieski

Color.BLUE

niebieski

Color.darkGray

ciemnoszary

Color.DARK GRAY

ciemnoszary

Color.gray

szary

Color.GRAY

szary

Color.green

zielony

Color.GREEN

zielony

Color.lightGray

jasnoszary

Color.LIGHT GRAY

jasnoszary

Color.magenta

karmazynowy

Color.MAGENTA

karmazynowy

Color.orange

pomarańczowy

Color.ORANGE

pomarańczowy

5


Wyszukiwarka

Podobne podstrony:
28934 odleżyny 7 (2) Przy wyborze poduszek lub materaców przeciwodleąmowych należy poznać ich podsta
potrafią rozszyfrować. Przy sporządzaniu notatek należy pamiętać o ich przejrzystości oraz zawartośc
Zadanie 5 Wpisz w okienko - „Tak” lub „Nie” (4p.) •    Przy przechodzeniu przez
skanuj0004 (481) Tablica 6 Wartości współczynnika kształtu ak przy rozciąganiu próbki okrągłej z ods
img@39 (2) 31 R. II. WIADOMOŚCI PODSTAWOWE Z MIERNICTWA Tablica 4. Wzory do obliczania błędów bezwzg
Tablica 5: Parametry technologiczne obróbki detali przy zastosowaniu różnych procesów
Kontener Jednostka, która umożliwia przechowywanie wielu wartości. Kontenery udostępniane przez STL
Kontener Jednostka, która umożliwia przechowywanie wielu wartości. Kontenery udostępniane przez STL

więcej podobnych podstron