Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
Po prostu Java 2
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Spis treci
Wstp
11
Spis treci
Spis treci
Spis treci
Rozdzia 5. acuchy
65
Zmienne acuchowe ................................................................................ 66
Wicej o acuchach ................................................................................. 68
Zasig deklaracji zmiennych..................................................................... 70
Metody klasy String.................................................................................. 72
Wszystkie typy liczbowe .......................................................................... 74
Wzajemne przeksztacanie acuchw i liczb........................................... 77
Przeksztacenia typw liczbowych ........................................................... 79
Przeksztacanie przez rzutowanie ............................................................. 81
Tablice obiektw....................................................................................... 83
Rozdzia 6. Podejmowanie decyzji
85
Instrukcje warunkowe if ...................................................................... 86
Przechwytywanie bdw ......................................................................... 89
Wicej o instrukcjach warunkowych ifelse ..................................... 93
Powtarzanie czynnoci za pomoc ptli.................................................... 96
Inny rodzaj ptli while ......................................................................... 98
Ostatni rodzaj ptli dowhile ........................................................... 100
Przerywanie dziaania ptli ..................................................................... 102
Konstrukcja switchcase....................................................................... 104
Rozdzia 7. Wsppraca z uytkownikiem
109
Rysowanie za pomoc myszy ................................................................. 110
Rysowanie w dwch wymiarach ............................................................ 113
Swobodne rysowanie .............................................................................. 116
Przechwytywanie naciskania klawiszy ................................................... 118
Przemieszczanie obrazw ....................................................................... 120
Uywanie klawiszy modyfikujcych ...................................................... 122
Rozdzia 8. Budowa interfejsu uytkownika
125
Strony chronione hasem......................................................................... 126
Wpisywanie i wywietlanie tekstu.......................................................... 129
Praca z polami wyboru............................................................................ 131
Uywanie przyciskw opcji .................................................................... 134
Elementy rozwijanego menu................................................................... 137
Ustawianie menu czcionki w Javie ......................................................... 139
Uywanie wieloliniowych pl tekstowych ............................................. 141
Uywanie list przewijanych .................................................................... 144
6
Spis treci
Spis treci
Spis treci
Spis treci
Dodatek B
Dodatek C
Spis treci
Dodatek D
347
Spis treci
Podejmowanie decyzji
Podejmowanie decyzji
Podejmowanie decyzji
Nie zawsze aplety Javy przechodz najprostsz
drog od pierwszej do ostatniej instrukcji.
Niekiedy potrzebne jest ominicie fragmentu
kodu, czy te powtrne uruchomienie pewnych
instrukcji. Wpywanie na przebieg dziaania
programu nazywa si sterowaniem przepywem
(ang. flow control). W tym rozdziale omwimy,
jak zapanowa nad kierunkiem przetwarzania
Twojego kodu.
Podejmowanie decyzji
85
Rozdzia 6.
Instrukcje warunkowe if
Najprostszym sposobem przejcie kontroli
nad dziaaniem apletu jest uycie instrukcji .
Dziaanie tej instrukcji mona wyrazi sowami:
Jeli () jaka warto jest prawdziwa (),
wwczas uruchom instrukcje znajdujce si
w nawiasach klamrowych. W przeciwnym
wypadku pomi ten fragment kodu. Listing
HTML 6.1 i aplet 6.1 pokazuj, jak uywa
instrukcji warunkowych w celu wywietlenia
wpisanego przez uytkownika tekstu.
Instrukcje warunkowe if
1.
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++
)$$
$$
+0
+-
,
23
4
+-
,
+27+
3
4
*203/
" ,
-/##!
+ *+#0 1
23#4 ,
-%
5%65!
6
7
"
8
!
,
-
+
!
!
9
6
Podejmowanie decyzji
4. ."
"
Instrukcje warunkowe if
5.
,-
/
##"
6.
8
9
"
,-
+ "
87
Rozdzia 6.
Tabela 6.1. Zdarzenia w Javie
Interfejs
Komponenty
Metody
'- (przycisk)
80 23
(lista)
9.* (pole tekstowe)
:-; (element menu)
-
- =-" 23
"+
Wszystkie komponenty
+> 23
"+:, 23
+?
@ 23
+<23
Wszystkie pojemniki
*-
Wszystkie komponenty
+ 23
+?, 23
0-
7 23
Instrukcje warunkowe if
0-
23
;
<" 23
Wszystkie komponenty
58
23
5?
23
59+ 23
:-
Wszystkie komponenty
Wszystkie komponenty
- 23
9.
.=-" 23
B
B (okno)
, 23
- :, 23
"
23
"
23
, 23
0 23
;0 23
C+ 23
88
Podejmowanie decyzji
Listing HTML 6.2. Wywouje aplet 6.2 i umieszcza
go w oknie przegldarki internetowej
89
Przechwytywanie bdw
D
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++D
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++D
)$$
$$
+0
Przechwytywanie bdw
Rozdzia 6.
3. *+
=,
8
4
#
=-?
=?#
+ "
=,
8
4
#
=-?
=?#
7
Przechwytywanie bdw
90
+-
,
23
4
+-
,
+27+
3
4
*+ =,
7 4#
=- ?=?#
+
"!
"
7 /=- = !
=,
7 4#
=- ?=?#
9
"
7 @!
=,#'+ =A
55#
9
+ *+ =,% 5%65!
6
7
"
8
!
"
+
*
!
"
!
,
7 B
+
B
:+ , +
!!
9
.C
8
!
7 <
9
!
6
6
Podejmowanie decyzji
5.
8
@
"
=,
#'+
=A
55#
7
Przechwytywanie bdw
+* "
"
Rysunek 6.3. Musisz sprbowa jeszcze raz
91
Rozdzia 6.
8. ,
8
B+B
8
<
7
"
Przechwytywanie bdw
92
Podejmowanie decyzji
Listing HTML 6.3. Wywietla aplet 6.3 w oknie
przegldarki internetowej
=,
#'+
=A
55#
7
93
(
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++(
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++(
)$$
$$
+0
Wicej o instrukcjach
warunkowych ifelse
Rozdzia 6.
3.
=,
8
4
#
=
1 #
7
=,
8
4
#
=
E #
7
9.*
+E
9.* 2)3/
+8
%/
@-5@
232,:
23
1
$$3
F
/
*
0
*29
?G
*'C G
D#3/
+-
,
23
4
+-
,
+27+
3
4
<
-
@
+8
F
@-5H
@H/
*203/
"
7 /=- = !
"
7 @!
=,#'+ =A
55#
9
"
7 @=- = !
=,
7 4#
= 1#
9
=,
7 4#
= D#
9
+-
,
80 2&,
3
4
0
2<-23
0
9.* 3
4
4
+8
;+
;
2I-*&.+
.3
4
+8
%/
+23/
6
6
94
Podejmowanie decyzji
Wskazwka
W poprzednim przypadku uytkownik
95
Rozdzia 6.
Powtarzanie czynnoci
za pomoc ptli
Zaptlenie kodu
Ptla skada si z trzech czci (patrz
rysunek 6.10):
1. Inicjalizacja podczas pierwszego
przejcia ptli inicjalizowana jest
zmienna ptli licznik ptli.
2. Ograniczenie tak okrelamy, kiedy
ptla si zakoczy. W normalnych
warunkach ludzie odliczaj od jednego
do dziesiciu; powszechn praktyk
w jzykach programowania jest
odliczanie od zera do dziewiciu.
W obu przypadkach kod wewntrz
ptli zostanie przetworzony dziesi
razy, jednak metoda liczenia od
zera jest wygodniejsza w jzykach
programowania takich jak Java z racji
indeksowania tablic od zera. Dlatego
wanie okrelamy ograniczenia
w ptli jako mniejszy ni warto
=F=,- -, a nie mniejszy
lub rwny wartoci =F=,- -.
3. Inkrementacja w tej czci
okrelamy, jak dalece zwiksza
licznik ptli w kadej kolejnej iteracji
ptli. W tym przypadku dodajemy
jeden za pomoc znakw 44
po identyfikatorze zmiennej.
96
#
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++#
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++#
)$$
$$
+0
Podejmowanie decyzji
Aplet 6.4. Aplet pyta uytkownika o liczb
gwiazdek i wywietla je za pomoc ptli
+
,1/
+
,++++/
+
,,1/
+-
++#
.
++
+
4
9.*
+J@55
9.* 2)3/
@J@55
%/
*
0
*29
?G
*'C G
D#3/
+-
,
+27+
3
4
<
-B
/
/
*203/
"= E=,-- @FF
= E=,-- G;5!
.0,,#7 =A
;5#
9
"5@= E=,-- 44!
.0,, .0,,4
##
9
9
+-
,
80 2&,
3
4
0
2<-23
0
9.* 3
4
4
@J@55
;+
;
2+J@559.233/
2I-*&.+
.3
4
@J@55
%/
+23/
6
6
1.
=F=,- -
@
GG
=F=,- -
H
;5"
.0, ,
#8
=A
;5#
7
5
@=F=,- -
44"
.0, ,
.0, ,
4
##
7
7
97
+-
,
23
4
2+J@553/
Rozdzia 6.
)
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++)
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++)
)$$
$$
+0
98
Podejmowanie decyzji
Aplet 6.5. Ciekawe, ile gwiazdek uytkownik bdzie
chcia wywietli tym razem
+
,1/
+
,++++/
+
,,1/
+-
++)
.
++
+
4
9.*
+J@55
9.* 2)3/
@J@55
%/
*
0
*29
?G
*'C G
D#3/
+-
,
23
4
2+J@553/
*203/
0
2@J@55
)$3
4
@J@55
%/
0
2@J@55
3
4
-B
8
@K
)$/
6
.
@= E=,-- !
.0,, .0,,4##
44
9
+-
,
80 2&,
3
4
0
2<-23
0
9.* 3
4
4
@J@55
;+
;
2+J@559.233/
2I-*&.+
.3
4
@J@55
%/
+23/
6
6
1. .
@
=F=,- -"
.0, ,
.0, ,
4
##
44
7
99
+-
,
+27+
3
4
<
-B
/
$/
Rozdzia 6.
.0, ,
.0, ,
4
##
44
7
.
@
=F=,- -"
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++
)$$
$$
+0
100
Podejmowanie decyzji
Aplet 6.6. Za pomoc ptli dowhile przetwarzamy
danie uytkownika
+
,1/
+
,++++/
+
,,1/
+-
++
.
++
+
4
9.*
+J@55
9.* 2)3/
@J@55
%/
*
0
*29
?G
*'C G
D#3/
+-
,
23
4
2+J@553/
+-
,
+27+
3
4
<
-B
/
$/
*203/
0
2@J@55
LL
@J@55
)$3
4
-B
8
@K
)$/
4
.0,, .0,,4
##
44
9.
@= E=,-- !
+-
,
80 2&,
3
4
0
2<-23
0
9.* 3
4
4
@J@55
;+
;
2+J@559.233/
2I-*&.+
.3
4
@J@55
%/
+23/
6
6
101
Rozdzia 6.
H
!5"
-
.0, ,
.0, ,
4
##
7
M
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++M
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++M
)$$
$$
+0
102
Podejmowanie decyzji
Aplet 6.7. Demonstruje opuszczenie ptli za pomoc
instrukcji break
+
,1/
+
,++++/
+
,,1/
+-
++M
.
++
+
4
9.*
+J@55
9.* 2)3/
@J@55
%/
*
0
*29
?G
*'C G
D#3/
+-
,
23
4
2+J@553/
Wskazwka
W Javie istnieje take instrukcja .
+-
,
+27+
3
4
<
-B
/
/
*203/
0
2@J@55
3
4
-B
8
@K
D$/
4
"5@= E=,-- 44!
"G 5!
-
.0,, .0,,4
##
9
+-
,
80 2&,
3
4
0
2<-23
0
9.* 3
4
4
@J@55
;+
;
2+J@559.233/
2I-*&.+
.3
4
@J@55
%/
+23/
6
6
103
Rozdzia 6.
Konstrukcja switchcase
104
!"#$%$##&% %
'(&!%$$$)*#!! !(
)$$
$$
+++,
+
,-++
+
+
,-++
.%,%++/, (
+
+
,-0
+++.%,%++/
,
(
++
)$$
$$
+0
chcase
Konstrukcja switchcase
Podejmowanie decyzji
Aplet 6.8. Zobaczmy, czy moemy wygra
z naszym apletem
+
,1/
+
,++++/
+
,,1/
+-
,
23
4
@"5'.
"5.2ING
-
"5.G
0
3/
2@"5'.3/
+-
,
+27+
3
4
@J@55/
<
+-/
*203/
0
2+
@83
4
<2E
@
H
5OG
N
++PGD$G$3/
+
@8
0
/
4
.=
!
3
,
#K
L#
-
3
,
#CD,
#
-
case
++"5'.
"5.28+G
-
"5.G
0
3/
2++"5'.3/
3
,
#MN#
-
!3
,
#C E,#
-
O3
,
#8#
-
3
,
#&1?#
7
Konstrukcja switch
25"5'.3/
JVON
@+-
232,:
23
1
(3
F
/
*
0
*29
?G
*'C G
3/
I.
-J
I.
-
I.
--
I.
-&%=,
I.
-&%
I.
-&
+
@8
-/
<
J@55/
4. -K.-&
K.- #MN#%
K.- %
"
-K.-& B ."
-K.-& "
105
Rozdzia 6.
="
,
#MN#
7
=!"
,
#C E,#
Konstrukcja switchcase
PMP3
-
PCP3
-
P8P3
-
3
+* "
K.- "
106
0
2@+-
@J@553
4
<2?&:;<
%
@
@@
@G
D$G
$3/
4
0
22@J@55
QQ
@+-(3
LL
2@J@55D
QQ
@+-3
LL
2@J@55(
QQ
@+-D33
4
<2BRP
BR
F
+-
F
G
D$G
$3/
4
<2BRSP
BR
F
+-
F
G
D$G
$3/
<2
@T
+G
SN
K
KG
D$G
$3/
6
*
I. +
B
8
!
"
+
*
!
"I.
-!
,E=,--
I.
-
+
*
I.
-!+
!
+23/
6
6
Podejmowanie decyzji
Wskazwki
Instrukcja .D moe by uywana
107
Konstrukcja switchcase