Π ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π° β 215 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΈ Π²ΡΡΠΎΡΠ° β 100 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΡΠ΅Π»ΡΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π΅Π³ΠΎ Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ), ΠΎΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ Ρ ΡΠΊΡΠ°Π½Π°, Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π½Π° ΡΡΠΎΠΌ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ. Π Ρ ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ. ΠΠ΅Π΄Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠ½Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π»ΠΎΡΡ. Π Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ setDefaultCloseOperation (). ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ±ΡΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°setDefaultCloseOperation().void setDefaultCloseOperation(int what)
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° what, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠ½Π°. ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ JFrame.EXIT_0NJ3L0SE, Π΄Π°Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ.JFrame.DISPOSE_ON_CLOSEJFrame.HIDE_ON_CLOSEJFrame.DO_NOTHING_ON_CLOSE
ΠΠΌΠ΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ, ΡΠΊΡΡΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ WindowConstants, Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π² ΠΏΠ°ΠΊΠ΅Ρ javax. swing. ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ JFrame.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JLabel ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Swing:JLabel jlab = new JLabel(" Swing defines the modern Java GUI.");
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JLabel β ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Swing, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΡΠ΅ΠΊΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈ ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ΅ΡΠΊΠ°, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ. Π ΡΡΡΠΎΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° JLabel.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΡΠΊΠ° Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΌΠΊΠΈ ΠΎΠΊΠ½Π°:jfrm.add(jlab);
ΠΠ°ΠΊ ΠΏΠΎΡΡΠ½ΡΠ»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΊΠΈ ΠΎΠΊΠ½Π° Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ add() ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° JFrame (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° JFrame ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ j frm). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° add (). Π§Π°ΡΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ:Component add(Component ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ)
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ JFrame, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ BorderLayout. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° add () ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΠΌΠ΅ΡΠΊΠ°) ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ add (), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ . ΠΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠ»Π°ΡΡΠ° SwingDemo ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.jfrm.setVisible(true) ;
ΠΠ±ΡΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° setVisible () Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:void setVisible(boolean ΡΠ»Π°Π³)
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ»Π°Π³ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΠΎΠΊΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΊΡΡΡΡΠΌ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΌΠΊΡ ΠΎΠΊΠ½Π° (ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° JFrame) Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ²setVisible(true).
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ main () ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° SwingDemo, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΎΠΊΠ½ΠΎ ΠΈ ΠΌΠ΅ΡΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° SwingDemo Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°:SwingUtilities.invokeLater(new Runnable() { public void run() { new SwingDemo(); }});
Π ΡΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° SwingDemo ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΡΠ΄Ρ ΠΏΡΠΈΡΠΈΠ½. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Swing-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎ ΡΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΠΎΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Swing, Π° Π½Π΅ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, Ρ ΠΎΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΎΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ Π΄Π²ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Swing Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π½Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΎ Π²Π΅Π΄Ρ ΠΌΠ΅ΡΠΎΠ΄ main () Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½Π΅ΠΌ Π½Π΅Π»ΡΠ·Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° SwingDemo. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° Runnable, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ SwingUtilities: invokeLater () ΠΈΠ»ΠΈ invokeAndWait (). ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:static void invokeLater(Runnable obj)static void invokeAndWait(Runnable obj) throws InterruptedException, InvocationTargetException
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ obj ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° Runnable, ΠΌΠ΅ΡΠΎΠ΄ run () ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΎΡΠΎΠΊΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ±Π° ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ invokeLater () ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ invokeAndWait () ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° obj . run (). ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Swing-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ invokeLater (), ΡΡΠΎ ΠΈ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π°ΠΏΠΏΠ»Π΅ΡΠ° Π»ΡΡΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ invokeAndWait (). (Π ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Swing-Π°ΠΏΠΏΠ»Π΅ΡΠ° ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.)
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΎΠ½Π° Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ JLabel Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ JLabel Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ. Π Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Swing ΡΠΎΡΠΌΠΈΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π΄Π°Π»Π΅Π΅ Π² Π³Π»Π°Π²Π΅.ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° JButton
ΠΠ½ΠΎΠΏΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Swing. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² Swing ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° JButton. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° AbstractButton, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅ΠΊΡΡ Π½Π°Π΄ΠΏΠΈΡΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈ ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ Π½Π°Π΄ΠΏΠΈΡΡΠΌΠΈ.
ΠΠ»Π°ΡΡ JButton ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:JButton(String ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π΄ΠΏΠΈΡΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π»ΡΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ ActionEvent. ΠΠ»Π°ΡΡ ActionEvent ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ AWT, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Swing. Π ΠΊΠ»Π°ΡΡΠ΅ JButton ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ:void addActionListener(ActionListener al)void removeActionListener(ActionListener al)
Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ al Π·Π°Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡΡΡ ΠΎ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ActionListener.