c.resize(width / n, height / n);
c.move(i * width / n, j * height / n);
}
}
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Canvas Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° size, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Dimension. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Canvas Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ resize ΠΈ move. Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ°Π½Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΠΎΠΊΠ° Π΄Π»Ρ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° setLayout(null).
12.4. ΠΠ»Π°ΡΡ LabelΠ€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° Label ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ String β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π²ΡΡΠΎΠ²Π½ΠΈΠ² Π΅Π΅ Π½ΡΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π¨ΡΠΈΡΡ ΠΈ ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° ΠΌΠ΅ΡΠΊΠΈ, ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Component. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getFont/setFont ΠΈ getForeground/setForeground. ΠΠ°Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° setText. ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Label ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ β LEFT, RIGHT ΠΈ CENTER. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Π°Ρ β ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ.
import java.awt.*;
import java.applet. *;
public class LabelDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
Label left = new LabelC'Left", LabeLLEFT);
Label right = new Label("Right", LabeLRIGHT);
Label center = new Label("Center", Label.CENTER);
add(left);
add(right);
add(center);
left.reshape(0, 0, width, height / 3);
right.reshape(0, height / 3, width, height / 3);
center.reshape(0,2 * height / 3, width, height / 3);
}
}
ΠΠ° ΡΡΠΎΡ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Label, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ reshape. Π¨ΠΈΡΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΌΠ΅ΡΠΎΠΊ ΡΠ°Π²Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Π΅ Π°ΠΏΠΏΠ»Π΅ΡΠ°, Π²ΡΡΠΎΡΠ°β 1/3 Π²ΡΡΠΎΡΡ Π°ΠΏΠΏΠ»Π΅ΡΠ°.
12.5. ΠΠ»Π°ΡΡ ButtonΠΠ±ΡΠ΅ΠΊΡΡ-ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π½Π΅Π»ΡΠ·Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Label (ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅Π½ΡΡΠΈΡΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ). ΠΠΎΠ·Π΄Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
import java.awt.*;
import j ava.applet. *;
public class ButtonDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = biteger.parseInt(getParameter("height"));
Button yes = new Button("Yes");
Button no = new Button("No");
Button maybe = new Button("Undecided");
add(yes);
add(no);
add(maybe);
yes.reshape(0,0, width, height / 3);
no.reshape(0, height / 3, width, height / 3);
maybe.reshape(0,2 * height / 3, width, height / 3);
}
}
12.6. ΠΠ»Π°ΡΡ CheckboxΠΠ»Π°ΡΡ Checkbox ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Checkbox Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠΊΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΊΠΎΡΠΊΠ° Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΎΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΊΠΎΡΠΊΠ° Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getState ΠΈ setState. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Checkbox, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΊΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
import java.awt.*;
import j ava.applet. *;
public class CheckboxDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
Checkbox win1 = new Checkbox("Windows XP", null, true);
Checkbox win2 = new Checkbox("Windows 2000");
Checkbox win3 = new CheckboxfWindows 98");
add(win1);
add(win2);
add(win3);
win1.reshape(0,0, width, height / 3);
win2.reshape(0, height / 3, width, height / 3);
win3.reshape(0,2 * height / 3, width, height / 3);
}
}
12.7. ΠΠ»Π°ΡΡ CheckboxGroupΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Checkbox (Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΌ null) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Checkbox. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ CheckboxGroup, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² Checkbox, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌΠΈ (ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½). ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³ΡΡΠΏΠΏΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Checkbox β getCheckboxGroup ΠΈ setCheckboxGroup. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ getCurrent ΠΈ setCurrent Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Checkbox. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ±ΠΎΡΠ° Π² Π½Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
import java.awt.*;
import java.applet.*;
public class CheckboxGroupDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
CheckboxGroup g = new CheckboxGroup();
Checkbox winl = new Checkbox("Windows XP", g, true);
Checkbox win2 = new Checkbox("Windows 2000", g, false);
Checkbox win3 = new Checkbox("Windows 98", g, false);
add(winl);
add(win2);
add(win3);
winl.reshape(0,0, width, height / 3);
win2. reshape(0, height / 3, width, height / 3);
win3.reshape(0,2 * height / 3, width, height / 3);
}
}
12.8. ΠΠ»Π°ΡΡ ChoiceΠΠ»Π°ΡΡ Choice (Π²ΡΠ±ΠΎΡ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΡΡ ΡΠΏΠΈΡΠΎΡΠ½ΡΡ ΠΌΠ΅Π½Ρ (Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΈΠΏΠ° ComboBox Π² Windows). ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Choice Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ²Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΠ°, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ ΠΌΡΡΡΡ Π½Π° Π½Π΅ΠΌ, ΡΠ°ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅Π½Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ, Π²ΡΡΠΎΠ²Π½Π΅Π½Π½Π°Ρ ΠΏΠΎ Π»Π΅Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ΅Π½Ρ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡ Choice. ΠΠ΅ΡΠΎΠ΄ countItems Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ½ΠΊΡΠΎΠ² Π² ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΎΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ½ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ±ΡΠ°Π½ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° select, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΌΡ Π»ΠΈΠ±ΠΎ ΡΠ΅Π»ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ (ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Ρ Π½ΡΠ»Ρ), Π»ΠΈΠ±ΠΎ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getSelectedItem ΠΈ getSelectedIndex ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΡΠΎΠΊΡ-ΠΌΠ΅ΡΠΊΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ. ΠΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Choice.
import java.awt.*;
import java.applet.*;
public class ChoiceDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
Choice os = new Choice();
Choice browser = new Choice();
os.addItem("Windows XP");
os.addItem("Windows 2000");
os.addItem("Windows 98");
browser. addItem("Netscape Navigator");
browser.addItem("Mozula");
browser.addItem("Internet Explorer ");
browser.addItem("Mosaic ");
browser.addItem("Lynx ");
browser.select("Netscape Navigator");
add(os);
add(browser);
os.reshape(0,0, width, height / 2);
browser.reshape(0, height / 2, width, height / 2);
}
}
12.9. ΠΠ»Π°ΡΡ ListΠΠ»Π°ΡΡ List ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠ±ΠΎΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΎΠΉ (Π°Π½Π°Π»ΠΎΠ³ ListBox Π² Windows). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π΄Π²ΡΠΌΡ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π²ΡΠ±ΠΎΡΠ°, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° Π²ΡΠΎΡΠΎΠΉ β Π²ΡΠ±ΠΎΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°,
import java.awt.*;
import java.applet.*;
public class ListDemo extends Applet {
public void initQ { setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter(βheight"));
List os = new List(0, true);
List browser = new List(0, false);
os.addItem("Windows XP");
os.addItem("Windows 2000");
os.addItem("Windows 98");
browser.addItem("Netscape Navigator ");
browser.addItem("Netscape Communicator ");
browser.addItem("lnternet Explorer ");
browser.addItem("Mosaic ");
browser.addItem("Lynx ");
browser.select(1);
add(os);
add(browser);
os.reshape(0, 0, width, height / 2);
browser.reshape(0, height / 2, width, height / 2);
}
}
12.10. ΠΠ»Π°ΡΡ ScrollbarΠΠ±ΡΠ΅ΠΊΡΡ Scrollbar (Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠΎΠΌ. ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Ρ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π»ΠΈΠ±ΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ. Π‘ΡΡΠ΅Π»ΠΊΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π΅Π΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ, Π½Π°ΠΆΠ°Π² Π½Π° Π½ΠΈΡ , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Π’Π΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° Scrollbar ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ VERTICAL ΠΈ HORIZONTAL. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠΎΡΠΎΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠΊΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ getValue ΠΈ setValue. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ getMinimum ΠΈ getMaximum, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ, ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ.