ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ИспользованиС Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π—Π°Π΄Π°Ρ‡Π° 3. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π² ΡΡ‚ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅, запускаСм ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ прорисовку GUIΠ² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Swing. Swing ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ (dispatchingthread), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ со ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΌ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄main ()) ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. НазначСниС Π΅Π³ΠΎ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события интСрфСйса. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ИспользованиС Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Π“Π»Π°Π²Π° 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ
    • 1. 1. Π―Π·Ρ‹ΠΊ программирования Java
    • 1. 2. Java ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°
    • 1. 3. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния графичСского интСрфСйса
    • 1. 4. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
    • 1. 5. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
    • 1. 6. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий
  • Π“Π»Π°Π²Π° 2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ
    • 2. 1. Π—Π°Π΄Π°Ρ‡Π° 1. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ AWT «ΠŸΡ€ΠΈΠ²Π΅Ρ‚ствиС»
    • 2. 2. Π—Π°Π΄Π°Ρ‡Π° 2. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π£Π±Π΅Π³Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°»
    • 2. 3. Π—Π°Π΄Π°Ρ‡Π° 3. Π Π΅ΡˆΠ°Ρ‚Π΅Π»ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого класса описаны Π² Ρ‚Π°Π±Π». 4. Π’Π°Π±Π».

4.ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ классаClickButton. ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниСvoid getDirection (int x, int y) ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ ΠΌΡ‹ΡˆΠΈ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅void move (intdx, intdy, intcenterButtonX, intcenterButtonY) ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ свободноС расстояниС для пСрСмСщСния ΠΊΠ½ΠΎΠΏΠΊΠΈ

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния прСдставлСн Π½Π° Ρ€ΠΈΡ. 5.

1. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ достигаСт своСй Ρ†Π΅Π»ΠΈ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‚ΠΎ ΠΎΠ½ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ. 5.

2.Рис.

5.1. Π—Π°Π΄Π°Ρ‡Π° 2. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния «Π£Π±Π΅Π³Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°». Рис.

5.2. Π—Π°Π΄Π°Ρ‡Π° 2. «Π£Π±Π΅Π³Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°» послС наТатия Π½Π° Π½Π΅Π΅. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ OkΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π—Π°Π΄Π°Ρ‡Π° 3. Π Π΅ΡˆΠ°Ρ‚Π΅Π»ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с GUI Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Swing, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСт ΠΊΠΎΡ€Π½ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния Π²ΠΈΠ΄Π° .Как извСстно, ΠΊΠΎΡ€Π½ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅: Π³Π΄Π΅ дискриминант. Класс QuadraticGui Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ. На ΡΡ‚ΠΎΡ‚ Ρ€Π°Π· пСрСнСсСм всю Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ GUIΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ launch () класса QuadraticGui. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ происходит Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ voidlaunch () Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс JPanel ΠΊΠ°ΠΊ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅. Как Π²ΠΈΠ΄Π½ΠΎ изрис.

6.1 ΠΈ Ρ€ΠΈΡ.

6.2, ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ JFrame, JTextField, JLabel ΠΈJButton.Π’Π°Π±Π».

5. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ классаQuadraticGui. ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниСvoidlaunch ()Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ GUIdouble discriminant (double a, double b, double c) ВыполняСт расчСт дискриминантаgetX1(final double a, final double b, final double c) ВычисляСт ΠΊΠΎΡ€Π½ΠΈ уравнСнияdoubleconvertToNumber (Stringn)ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Ρ‡ΠΈΡΠ»ΠΎ Ρ‚ΠΈΠΏΠ° doublegetTotalString (doublen)ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа Ρ‚ΠΈΠΏΠ° double Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ

На Ρ€ΠΈΡ. 6.1 ΠΏΠΎΠΊΠ°Π·Π°Π½ внСшний Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π° Ρ€ΠΈΡ.

6.2 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ расчСта ΠΊΠΎΡ€Π½Π΅ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния .Рис.

6.1. Π—Π°Π΄Π°Ρ‡Π° 3. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.Рис.

6.2. Π—Π°Π΄Π°Ρ‡Π° 3. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π² ΡΡ‚ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅, запускаСм ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ прорисовку GUIΠ² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Swing. Swing ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ (dispatchingthread), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ со ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΌ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄main ()) ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. НазначСниС Π΅Π³ΠΎ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события интСрфСйса. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ основы построСния GUI, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Π° java. awt ΠΈ javax. swing, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ прСдставляСт собой ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π°Π΄Π°Ρ‡:"ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅", ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ AWT;"Π£Π±Π΅Π³Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°", ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для отрисовкиGUIΠ±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Swing, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий — ΠΏΠ°ΠΊΠ΅Ρ‚ java.awt.event;Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Swing.

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

П. Ноутон, Π“. Π¨ΠΈΠ»Π΄Ρ‚ Java 2: The Complete Reference. — Π‘Пб.:Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2008И. Π₯Π°Π±ΠΈΠ±ΡƒΠ»Π»ΠΈΠ½ Java 7 — БПб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2012D. Flanagan Java Examples in a Nutshell, O’reilly, 2004UsingLayoutManagers [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа:

https://docs.oracle.com/javase/tutorial/uiswing/layout/using.htmlΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Листинг1. ВСкстпрограммы"ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅"import java.awt.*;import java.awt.event.*;class HelloListenerimplements WindowListener, ActionListener, MouseListener{private FrameWnd frame; // ΠΎΠΊΠ½ΠΎHelloListener (FrameWnd frame){this.frame = frame; }public void windowClosing (WindowEventev){System.exit (0); }public void windowActivated (WindowEventev){}public void windowClosed (WindowEventev){}public void windowDeactivated (WindowEventev){}public void windowDeiconified (WindowEventev){}public void windowIconified (WindowEventev){}public void windowOpened (WindowEventev){}public void actionPerformed (ActionEventae){ // вызываСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅Ρ‰Π΅Π»Ρ‡ΠΊΠ°Π½Π°ΠΊΠ½ΠΎΠΏΠΊΠ΅if (ae.getActionCommand ().equals (frame.btnOk.getLabel ())) frame. m2.setText (frame.tf.getText ());if (ae.getActionCommand ().equals (frame.btnCancel.getLabel ()))frame.tf.setText (««); }public void mouseEntered (MouseEvent me){}public void mouseClicked (MouseEvent me){}public void mousePressed (MouseEvent me){}public void mouseReleased (MouseEvent me){}public void mouseExited (MouseEvent me){}} // end class HelloListenerclass FrameWndextends Frame {private Panel panel; Label m1, m2,m3; Button btnOk, btnCancel;TextFieldtf;public FrameWnd (String s){super (s); panel = new Panel (); // создаСм panelbtnOk = new Button («Ok «); // создаСмкнопку OkbtnCancel = new Button («ΠžΡ‚ΠΌΠ΅Π½Π° «); m1 = new Label («Π—дравствуйтС, «); m2 = new Label («______________»); m3 = new Label («Π’Π²Π΅Π΄ΠΈΡ‚Π΅

Π’Π°ΡˆΠ΅ΠΈΠΌΡ «);tf = new TextField (30); add (panel);panel.add (m1); // добавляСм Label Π½Π° panel panel. add (m2);panel.add (m3);panel.add (tf); // добавляСмтСкстовоСполСна panel panel. add (btnOk); // добавляСмpanel. add (btnCancel); // ΠΊΠ½ΠΎΠΏΠΊΠΈΠ½Π° paneladdWindowListener (new HelloListener (this)); //рСгистрируСмобработчиксобытийокнаbtnOk.addActionListener (new HelloListener (this)); //рСгистрируСмобработчикнаТатиянакнопкуOkbtnCancel.addActionListener (new HelloListener (this)); }} // end class FrameWndpublic class Hello {public static void main (String[] args) {FrameWnd f = new FrameWnd («ΠŸΡ€ΠΈΠ²Π΅Ρ‚ствиС»);f.setSize (400,350); // Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΊΠ½Π°f. setVisible (true); //ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠΎΠΊΠ½ΠΎ }}Листинг2. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «Π£Π±Π΅Π³Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°"import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionListener;public class ClickButtonextends JPanelimplements MouseMotionListener, Constants {private JButton button;private JFrame frame;ClickButton () { // конструктор frame = new JFrame (FRAME_TITLE); //создаСмокно button = new JButton (BTN_TITLE); //создаСмкнопкуframe.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); //Π’Ρ‹Ρ…ΠΎΠ΄ΠΏΠΎ Alt+F4frame.setSize (300, 300); // Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΊΠ½Π°frame. add (this);this.add (button);button.setFocusPainted (false);button.addActionListener (new ActionListener () { // добавляСмобработчикнаТатиянакнопкуpublic void actionPerformed (ActionEvent arg0) { // ΠΊΠ½ΠΎΠΏΠΊΠ°Π½Π°ΠΆΠ°Ρ‚Π°button. setText (MSG);//ΠΏΠΈΡˆΠ΅ΠΌΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Π½Π°ΠΊΠ½ΠΎΠΏΠΊΠ΅button.setBackground (new Color (200,255,200));// Ρ†Π²Π΅Ρ‚ΠΊΠ½ΠΎΠΏΠΊΠΈtry {Thread.sleep (128);//Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° } catch (InterruptedException e1) { e1. printStackTrace (); }JOptionPane.showMessageDialog (frame,//ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΏΠΎΠ±Π΅Π΄Π½Ρ‹ΠΉΠ΄ΠΈΠ°Π»ΠΎΠ³ MSG, TITLE, JOptionPane. INFORMATION_MESSAGE);frame.setVisible (false); } });frame.getContentPane ().addMouseMotionListener (this);frame.setVisible (true);//ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΊΠ½ΠΎ } @Overridepublic void mouseDragged (MouseEvent e) { } @Overridepublic void mouseMoved (MouseEvent e) {this.getDirection (e.getX (), e. getY ()); }private void getDirection (intx, inty) {intcenterButtonX = button. getLocation ().x+(button.getWidth ()/2);intcenterButtonY = button. getLocation ().y+(button.getHeight ()/2);intradius =(int)(button.getWidth ()*1.2);intdist = (int) (2*Math.sqrt (Math.pow (x-centerButtonX, 2)+Math.pow (y-centerButtonY, 2)));if (dist < radius) {intdx = radius — dist;//ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΏΠΎ xintdy = radius — dist;//ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΏΠΎ y //мСняСмнаобратноССсливвСрхивлСвоif (x > centerButtonX) dx = -dx;if (y > centerButtonY) dy = -dy; move (dx, dy, centerButtonX, centerButtonY); } }private void move (intdx, intdy, intcenterButtonX, intcenterButtonY) {intshift = (int)(Math.random () * 5 + 10);//Π΅ΡΠ»ΠΈΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΠ²ΠΏΡ€Π°Π²ΠΎif (dx > 0) {//Π΅ΡΠ»ΠΈΡΠΏΡ€Π°Π²Π°Π΅ΡΡ‚ΡŒΠΌΠ΅ΡΡ‚ΠΎif (centerButtonX + button. getWidth () / 2 + dx < this. getWidth ())button.setLocation (button.getLocation ().x += dx, button. getLocation ().y);//Π”Π²ΠΈΠ³Π°Π΅ΠΌelsebutton.setLocation (shift, button. getLocation ().y); }//Π΅ΡΠ»ΠΈΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΠ²Π½ΠΈΠ·if (dy > 0) {//Π΅ΡΠ»ΠΈΠ²Π½ΠΈΠ·ΡƒΠ΅ΡΡ‚ΡŒΠΌΠ΅ΡΡ‚ΠΎif (centerButtonY + button. getHeight () / 2 + dy < this. getHeight ())button.setLocation (this.button.getLocation ().x, button. getLocation ().y += dy);//Π”Π²ΠΈΠ³Π°Π΅ΠΌelsebutton.setLocation (button.getLocation ().x, shift); }//Π΅ΡΠ»ΠΈΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΠ²Π»Π΅Π²ΠΎif (dx < 0) {//Π΅ΡΠ»ΠΈΡΠ»Π΅Π²Π°Π΅ΡΡ‚ΡŒΠΌΠ΅ΡΡ‚ΠΎif (centerButtonX — button. getWidth () / 2 > -dx)button.setLocation (button.getLocation ().x += dx, button. getLocation ().y);elsebutton.setLocation (this.getWidth ()-(button.getWidth () + shift), button. getLocation ().y); }//Π΅ΡΠ»ΠΈΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΠ²Π²Π΅Ρ€Ρ…if (dy < 0) {//Π΅ΡΠ»ΠΈΠ²Π²Π΅Ρ€Ρ…ΡƒΠ΅ΡΡ‚ΡŒΠΌΠ΅ΡΡ‚ΠΎif (centerButtonY — (button.getHeight () / 2) > -dy)button.setLocation (button.getLocation ().x, button. getLocation ().y += dy);elsethis.button.setLocation (button.getLocation ().x, this. getHeight () — (button.getHeight () + shift)); } }public static void main (String[] args) {SwingUtilities.invokeLater (new Runnable () {public void run () {new ClickButton ();//ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°ΡˆΠ΅Π³ΠΎΠΊΠ»Π°ΡΡΠ° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΠΏΠΎΡ‚ΠΎΠΊΠ΅ } }); }}Листинг3. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСнияimportjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassQuadraticGuiimplementsConstants {privateJTextFieldinputFieldA = newJTextField (10); // тСкстовыСprivateJTextFieldinputFieldB = newJTextField (10); // поляprivateJTextFieldinputFieldC = newJTextField (10); //privateJLabeloutputX1 = newJLabel (««);privateJLabeloutputX2 = newJLabel (««);privateJButtonbtn = newJButton (BTN_TITLE); // ΠΊΠ½ΠΎΠΏΠΊΠ°privateStringstrA, strB, strC;privatedoublea, b, c;ActionListenerlistener = newActionListener () { // ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊpublicvoidactionPerformed (ActionEventevt) {try{strA = inputFieldA. getText (); // Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡ‚Π΅ΠΊΡΡ‚ΠΈΠ·inputFieldAвстрокуstrB = inputFieldB. getText ();strC = inputFieldC. getText ();a = convertToNumber (strA); // ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒΡΡ‚Ρ€ΠΎΠΊΡƒΠ²Ρ‡ΠΈΡΠ»ΠΎb = convertToNumber (strB);c = convertToNumber (strC);doublex1 = getX1(a, b, c); // ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΊΠΎΡ€Π΅Π½ΡŒx1doublex2 = getX2(a, b, c); // ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΊΠΎΡ€Π΅Π½ΡŒx2if (!Double.isNaN (x1) && !Double.isNaN (x2)) {if (x1 == x2) outputX1. setText (getTotalString (x1));else{outputX1.setText (getTotalString (x1));outputX2.setText (getTotalString (x2)); } } } catch (finalExceptione) {JOptionPane.showMessageDialog (null, «Π’вСдитСзначСниякоэффициСнтов»); }inputFieldA.requestFocusInWindow (); } };// ConstructorpublicQuadraticGui () {inputFieldA.addActionListener (listener);inputFieldB.addActionListener (listener);btn.addActionListener (listener); }// CreateGUIpublicvoidlaunch () {JPanelpanel = newJPanel (newGridLayout (4, 4, 4, 4));panel.add (newJLabel («a:»)); // Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒlabelpanel. add (newJLabel («b:»));panel.add (newJLabel («c:»));panel.add (inputFieldA); // Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΠΎΠ΅ΠΏΠΎΠ»Π΅panel. add (inputFieldB);panel.add (inputFieldC);panel.add (newJLabel (LABEL));panel.add (outputX1);panel.add (outputX2);panel.add (btn); // Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠΊΠ½ΠΎΠΏΠΊΡƒJFrameframe = newJFrame (TITLE); // созданиСокнаframe. setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); // Π²Ρ‹Ρ…ΠΎΠ΄ΠΏΠΎAlt+F4Containercp = frame. getContentPane (); // ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€cp. add (panel, BorderLayout. NORTH); // добавляСмвконтСйнСрpanelframe. pack ();frame.setLocationRelativeTo (null);frame.setVisible (true);// ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ }privatedoublediscriminant (doublea, doubleb, doublec) { // дискриминантreturnb * b — 4 * a * c; }publicdoublegetX1(finaldoublea, finaldoubleb, finaldoublec) { // подсчСтx1doubled = discriminant (a, b, c);doubleres = Double. NaN;try{if (d < 0) thrownewArithmeticException («D<0»); // d<0 Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Π΅ΠΌΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅res = ((d == 0)? (-b / (2 * a)): (-b + Math. sqrt (d)) / (2 * a)); } catch (ArithmeticExceptionex) { // ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅JOptionPane. showMessageDialog (null,» D < 0. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…ΠΊΠΎΡ€Π½Π΅ΠΉΠ½Π΅Ρ‚.»); }return res; }public double getX2(final double a, final double b, final double c) {double d = discriminant (a, b, c);return ((d == 0)? (-b / (2 * a)): (-b — Math. sqrt (d)) / (2 * a)); }private double convertToNumber (String n) {return Double. parseDouble (n); }/** * Helper * Convert number to String * @paramn * @return String */private String getTotalString (double n){return «» + n;}public static void main (String[] args) {EventQueue.invokeLater (new Runnable () {public void run () {new QuadraticGui ().launch (); //запускlaunch ()Π²ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΠΏΠΎΡ‚ΠΎΠΊΠ΅ } }); }}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. П. Ноутон, Π“. Π¨ΠΈΠ»Π΄Ρ‚ Java 2: The Complete Reference. — Π‘Пб.:Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2008
  2. И. Π₯Π°Π±ΠΈΠ±ΡƒΠ»Π»ΠΈΠ½ Java 7 — БПб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2012
  3. D. Flanagan Java Examples in a Nutshell, O’reilly, 2004
  4. Using Layout Managers [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: https://docs.oracle.com/javase/tutorial/uiswing/layout/using.html
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ
ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Π˜Π›Π˜