Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π°ΠΆΠΊΠ° β Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ isSelected (), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:boolean isSelected()
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΈΠ½Π°ΡΠ΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π°ΠΆΠΊΠ°ΠΌΠΈ. Π Π½Π΅ΠΉ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠΈ ΡΠ»Π°ΠΆΠΊΠ°: Alpha, Beta ΠΈ Gamma. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π°ΠΆΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠΊΠ½ΠΎ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΠΈΡ. 15.4.// ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ»Π°ΠΆΠΊΠΎΠ².import java.awt.*;import java.awt.event.*;import javax.swing.*;class CBDemo implements ItemListener { JLabel jlabSelected; JLabel jlabChanged; JCheckBox jcbAlpha; JCheckBox jcbBeta; JCheckBox jcbGamma; CBDemo() { // ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ JFrame JFrame jfrm = new JFrame("Demonstrate Check Boxes"); // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ FlowLayout jfrm.setLayout(new FlowLayout()); // Π·Π°Π΄Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΌΠΊΠΈ ΠΎΠΊΠ½Π° jfrm.setSize(280, 120); // Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π° jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ jlabSelected = new JLabel(""); jlabChanged = new JLabel(""); // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»Π°ΠΆΠΊΠΎΠ². jcbAlpha = new JCheckBox("Alpha"); jcbBeta = new JCheckBox("Beta"); jcbGamma = new JCheckBox("Gamma"); // Π‘ΠΎΠ±ΡΡΠΈΡ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ JCheckBox, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ // ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ itemStateChanged(), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ Π² ΠΊΠ»Π°ΡΡΠ΅ CBDemo. jcbAlpha.addltemListener(this); jcbBeta.addltemListener(this) ; jcbGamma.addltemListener(this); // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π°ΠΆΠΊΠΈ ΠΈ ΠΌΠ΅ΡΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ jfrm.add(jcbAlpha); jfrm.add(jcbBeta); jfrm.add(jcbGamma); jfrm.add(jlabChanged); jfrm.add(jlabSelected); // ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΌΠΊΡ ΠΎΠΊΠ½Π° jfrm.setVisible(true); } // ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΠ»Π°ΠΆΠΊΠΎΠ²). public void itemStateChanged(ItemEvent ie) { String str = ""; // ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ»Π°ΠΆΠΊΠ°, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π²ΡΠΈΠΉ ΡΠΎΠ±ΡΡΠΈΠ΅. JCheckBox cb = (JCheckBox) ie.getltem(); // ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ»Π°ΠΆΠΊΠ° if(cb.isSelected()) // ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ»Π°ΠΆΠΊΠ°. jlabChanged.setText(cb.getText() + " was just selected."); else jlabChanged.setText(cb.getText() + " was just cleared."); // ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ»Π°ΠΆΠΊΠ°Ρ if(jcbAlpha.isSelected()) { str += "Alpha "; } if(jcbBeta.isSelected()) { str += "Beta "; } if (jcbGamma.isSelected() ) { str += "Gamma"; } jlabSelected.setText("Selected check boxes: " + str); } public static void main(String args[]) { // ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΌΠΊΡ ΠΎΠΊΠ½Π° Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ SwingUtilities.invokeLater(new Runnable() { public void run() { new CBDemo(); } }); }}

ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ itemStateChanged (), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΠ»Π°ΠΆΠΊΠΎΠ²). ΠΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠ΅Π½ ΡΠ»Π°ΠΆΠΎΠΊ; Π° Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ»Π°ΠΆΠΊΠΎΠ². Π Π½Π°ΡΠ°Π»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π²ΡΠΈΠΉ ΡΠΎΠ±ΡΡΠΈΠ΅ ItemEvent. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°:JCheckBox cb = (JCheckBox) ie.getltem();
ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ JCheckBox Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ getltem () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° Object. ΠΠ°Π»Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄ itemStateChanged () ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ isSelected () ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ cb, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π°ΠΆΠΊΠ°. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ isSelected () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π·Π½Π°ΡΠΈΡ, ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ»Π°ΠΆΠΊΠ°. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΊΠΈ j labChanged ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ itemStateChanged () ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π°ΠΆΠΊΠ°ΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ»Π°ΠΆΠΊΠΎΠ². ΠΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½Π°ΡΡΡΡΠΎΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΊΠΈ j labSelected.Π Π°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Jlist
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList. ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Swing Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. Π Ρ ΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΡΠΎ Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Java, ΡΡΠΎ Π΅Π³ΠΎ ΡΡΡΠ΄Π½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π² Π½ΠΈΡ ΠΏΡΠ΅ΠΆΠ΄Π΅.
Π Π°Π½ΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ JList Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Object. Π ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° Π²Π΅ΡΡΠΈΠΈ JDK 7 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList ΡΡΠ°Π» ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:class JList<E>
Π³Π΄Π΅ Π ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ JList ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏΠΎΠ²Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° JList ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, ΡΠ΅ΠΌ JDK 7, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° JList.
Π ΠΊΠ»Π°ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° JList ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ². ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:JList (Π[] ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ)
ΠΡΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList ΠΈ ΡΠ°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠΈΡΡ Π½Π΅ΠΌΠ°Π»ΠΎ Π·Π°Π΄Π°Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ², Π½ΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ JScrollPane, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.JScrollPane(Component ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ)
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList). ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ JScrollPane, ΡΠΎ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠ° Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠΏΡΠΎΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° JList.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ListSelectionEvent. ΠΡΠΎ ΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠΌΠ΅Π½Π΅ Π²ΡΠ±ΠΎΡΠ°. ΠΠ»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ListSelectionListener. ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ°ΠΊΠ΅ΡΡ javax. swing. event. Π ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄, valueChanged (), ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:void valueChanged(ListSelectionEvent le)
Π³Π΄Π΅ Ie ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π²ΡΠΈΠΉ ΡΠΎΠ±ΡΡΠΈΠ΅. Π Ρ ΠΎΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ListSelectionEvent ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° JList. ΠΠ»Π°ΡΡ ListSelectionEvent ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ°ΠΊΠ΅ΡΡ j avax. swing. event.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JList Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ setSelectionMode (), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΠΊΠ»Π°ΡΡΠ΅ JList. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:void setSelectionMode(int ΡΠ΅ΠΆΠΈΠΌ)
Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π΄Π°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ListSelectionModel, Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π² ΠΏΠ°ΠΊΠ΅Ρ javax. swing.SINGLE_SELECTIONSINGLE_INTERVAL_SELECTIONMULTIPLE_INTERVAL_SELECTION
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ MULTIPLE_INTERVAL_SELECTION, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠ². Π ΡΠ΅ΠΆΠΈΠΌΠ΅ SINGLE_INTERVAL_SELECTI0N ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ. Π Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ SINGLE SELECTION ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΈ Π² Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ , Π³Π΄Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².