Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° JavaΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 56

Автор Н.А. Вязовик

ex.printStackTrace();

fis = new java.io.FileInputStream("anotherBogus.file");

throw ex;

}

return retStr;

}

}

java.io.FileNotFoundException: bogus.file (The system cannot find

the file specified)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(FileInputStream.java:64)

at experiment.Test.doFileInput(Test.java:33)

at experiment.Test.main(Test.java:21)

Exception hash code 3214658


java.io.FileNotFoundException: anotherBogus.file (The system cannot find

the path specified)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(FileInputStream.java:64)

at experiment.Test.doFileInput(Test.java:38)

at experiment.Test.main(Test.java:21)

Exception hash code 6129586


НСслоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, хотя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅, Π² Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ рассмотрСны основныС языковыС конструкции.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Java ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ основных конструкции: while, do, for. Для измСнСния порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ continue ΠΈ break (с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π±Π΅Π·). Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° вСтвлСния: if ΠΈ switch.

Π’Π°ΠΆΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π΅Π· Π½Π΅Π΅ Π½Π΅ обходится Π½ΠΈ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, вСдь ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ сбоСв ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ошибка программиста, Π½ΠΎ ΠΈ внСшниС события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Ρ€Ρ‹Π² сСтСвого соСдинСния. Основной конструкциСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций являСтся try-catch-finally. Для явной ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации слуТит ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово throw.

Ошибки дСлятся Π½Π° провСряСмыС ΠΈ нСпровСряСмыС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, компилятор Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, классы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ Exception, ΠΊΡ€ΠΎΠΌΠ΅ классов-наслСдников RuntimeException. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ошибкС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, сколько ΠΏΠΎ внСшним Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ.

ΠšΠ»Π°ΡΡΡ‹, унаслСдованныС ΠΎΡ‚ RuntimeException, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сбои. ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ программист свСдСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ошибок ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСпровСряСмыми, компилятор оставляСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° усмотрСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Ошибки-наслСдники Error ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… сбоях, поэтому ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ провСряСмыС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈΠ±ΠΎ сами ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово throws с пСрСчислСниСм Π½Π΅ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… провСряСмых ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. На нСпровСряСмыС ошибки это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ распространяСтся.

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ( overridden ) ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ исходного ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.


11. ЛСкция: ΠŸΠ°ΠΊΠ΅Ρ‚ java.awt

Π­Ρ‚Π° лСкция Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ рассмотрСниС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ языка ΠΈ входят Π² Π΅Π³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ описываСтся ΠΏΠ°ΠΊΠ΅Ρ‚ java.awt, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ AWT для создания графичСского (ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ) интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ – GUI. Ни ΠΎΠ΄Π½Π° соврСмСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдназначСнная для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π΅ обходится Π±Π΅Π· ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ, понятного, Π² ΠΈΠ΄Π΅Π°Π»Π΅ – красивого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Π‘ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Π² Java сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ тСхнология для создания GUI. Она называСтся AWT, Abstract Window Toolkit. ИмСнно ΠΎ Π½Π΅ΠΉ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² этой Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠŸΠ°ΠΊΠ΅Ρ‚ java.awt ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π», ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, большС всСго ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ вСрсий Java. ΠœΡ‹ рассмотрим Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², доступных программисту, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ модСль сообщСний, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ дСйствия, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ особСнности AWT – Ρ€Π°Π±ΠΎΡ‚Π° с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ, ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ, отрисовка графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ Ρ‚.Π΄. Π₯отя тСхнология AWT Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ

, здСсь собраны всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ свСдСния для создания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ интСрфСйса.


Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Java-прилоТСния ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, рСализация графичСского ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (GUI) Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ для любой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π»ΠΈΠ±ΠΎ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ для Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ силу ряда ΠΏΡ€ΠΈΡ‡ΠΈΠ½, для основной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎ созданию GUI Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это лишний Ρ€Π°Π· ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Java – Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ мСняя своих ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π΅ΠΊ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, такая рСализация обСспСчивала Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ‹Π»Π° основана Π½Π° возмоТностях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ частности, это ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ, простой, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π°Π·Π²Π°Π»ΠΈ AWT – Abstract Window Toolkit. Π‘Π»ΠΎΠ²ΠΎ abstract Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС стандартныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² связкС с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π”Π΅Ρ€Π΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

Component

Абстрактный класс Component являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ для всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² AWT ΠΈ описываСт ΠΈΡ… основныС свойства. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² AWT ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½Π° экранС ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Рассмотрим основныС свойства этого класса.

ПолоТСниС

ПолоТСниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° описываСтся двумя Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами (Ρ‚ΠΈΠΏ int ) x ΠΈ y. Π’ Java (ΠΊΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования) ось x ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ – Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π²ΠΏΡ€Π°Π²ΠΎ, Π° ось Ρƒ – Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π²Π½ΠΈΠ·, Π° Π½Π΅ Π²Π²Π΅Ρ€Ρ…, ΠΊΠ°ΠΊ принято Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅.

Для описания полоТСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс – Point (Ρ‚ΠΎΡ‡ΠΊΠ°). Π’ этом классС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π΄Π²Π° public int поля x ΠΈ y, Π° Ρ‚Π°ΠΊΠΆΠ΅ мноТСство конструкторов ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. Класс Point примСняСтся Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… AWT, Π³Π΄Π΅ Π½Π°Π΄ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° плоскости.

Для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° эта Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π°.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setLocation(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ°Ρ€Ρƒ Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π»ΠΈΠ±ΠΎ Point. Π£Π·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getLocation(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Point, Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² getX() ΠΈ getY(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ появились с вСрсии Java 1.2.

Π Π°Π·ΠΌΠ΅Ρ€

Как Π±Ρ‹Π»ΠΎ сказано, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ AWT ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ описываСтся Ρ‚Π°ΠΊΠΆΠ΅ двумя цСлочислСнными ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ – width (ΡˆΠΈΡ€ΠΈΠ½Π°) ΠΈ height (высота). Для описания Ρ€Π°Π·ΠΌΠ΅Ρ€Π° сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс Dimension (Ρ€Π°Π·ΠΌΠ΅Ρ€), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π΄Π²Π° public int поля width ΠΈ height, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setSize, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ°Ρ€Ρƒ Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π»ΠΈΠ±ΠΎ Dimension. Π£Π·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getSize(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Dimension, Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² getWidth() ΠΈ getHeight(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ появились с вСрсии Java 1.2.

БовмСстно ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π·Π°Π΄Π°ΡŽΡ‚ Π΅Π³ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. ΠžΠ±Π»Π°ΡΡ‚ΡŒ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ числами ( x, y, width, height ), Π»ΠΈΠ±ΠΎ экзСмплярами классов Point ΠΈ Dimension, Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ классом Rectangle (ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ). Как Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Π² этом классС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ public int поля, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Point ΠΈ Dimension.

Π—Π°Π΄Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setBounds, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ числа, Π»ΠΈΠ±ΠΎ Rectangle. Π£Π·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getBounds(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Rectangle.

Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‚Π°ΠΊ ΠΈ Π±Ρ‹Ρ‚ΡŒ скрытым. Π­Ρ‚ΠΎ свойство описываСтся булСвским ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ visible. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ для управлСния – setVisible, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ булСвский ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΈ isVisible, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

РазумССтся, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ

Π”Π°ΠΆΠ΅ Ссли ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ отобраТаСтся Π½Π° экранС ΠΈ Π²ΠΈΠ΄Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ события ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ называСтся disabled. Если ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ enabled. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ мСняСт свой внСшний Π²ΠΈΠ΄, ΠΊΠΎΠ³Π΄Π° становится нСдоступным (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, становится сСрым, ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ), Π½ΠΎ, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (хотя ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

Для измСнСния этого свойства примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ setEnabled, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ булСвский ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ( true соотвСтствуСт enabled, false – disabled ), Π° для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния – isEnabled.

Π¦Π²Π΅Ρ‚Π°

РазумССтся, для построСния соврСмСнного графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ двумя свойствами, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°, – foreground ΠΈ background Ρ†Π²Π΅Ρ‚Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ свойство Π·Π°Π΄Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ надписи, Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚.Π΄. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ – Π·Π°Π΄Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ вся ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, занимаСмая ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ прорисовываСтся внСшний Π²ΠΈΠ΄.

Для задания Ρ†Π²Π΅Ρ‚Π° Π² AWT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс Color. Π­Ρ‚ΠΎΡ‚ класс ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ довольно ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, поэтому рассмотрим основныС характСристики.

Π¦Π²Π΅Ρ‚ задаСтся 3 цСлочислСнными характСристиками, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ RGB, – красный, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, синий. КаТдая ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 255 (Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΡ… Ρ‚ΠΈΠΏ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ int ). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ (0, 0, 0) соотвСтствуСт Ρ‡Π΅Ρ€Π½ΠΎΠΌΡƒ, Π° (255, 255, 255) – Π±Π΅Π»ΠΎΠΌΡƒ.