Swing (Java)
Swing — інструментарій для створення GUI на мові програмування Java. Це частина бібліотеки базових класів Java (JFC).
Swing розробляли, щоб забезпечити більш функціональний набір програмних компонентів графічного інтерфейсу користувача ніж у ранішого інструментарію AWT. Компоненти Swing підтримують специфічні look-and-feel модулі, що динамічно підключаються. Завдяки ним можлива адаптація до графічного інтерфейсу платформи (тобто до компоненту можна динамічно підключити інший, специфічний для даної операційної системи вигляд і поведінку). Основним мінусом таких компонентів є відносно повільна робота. Позитивна сторона —- універсальність інтерфейсу створених застосунків на всіх платформах.
Історія
На початку існування Java класів Swing не було взагалі. Через слабкі місця в AWT (початковій GUI системі Java) було створено Swing. AWT визначає базовий набір елементів керування, вікон та діалогів, які підтримують придатний до використання, але обмежений у можливостях графічний інтерфейс. Однією з причин обмеженості AWT є те, що AWT перетворює свої візуальні компоненти у відповідні їм еквіваленти, що не залежать від платформи, які називаються рівноправними компонентами. Це означає, що зовнішній вигляд компонентів визначається платформою, а не закладається в Java. Оскільки компоненти AWT використовують "рідні" ресурси коду, вони називаються ваговитими. Використання "рідних" рівноправних комонентів породжує деякі проблеми. По-перше, у зв'язку із різницею, що існує між операційними системами, компонент може виглядати або навіть вести себе по-різному на різноманітних платформах. Така мінливість суперечила філософії Java: "написане один раз, працює скрізь". По-друге, зовнішній вигляд кожного компонента був фіксованим(оскільки усе залежало від платформи), і це неможливо було змінити(принаймні, це важко було зробити). По-третє, використання ваговитих компонентів тягнуло за собою появу нових обмежень. Наприклад, ваговитий компонент завжди має прямокутну форму і є непрозорим. Незабаром після появи початкової версії Java, стало очевидним, що обмеження, властиві AWT, були настільки важливими, що потрібно було знайти кращий підхід. в результаті з'явились класи Swing як частина Java Foundation Classes (JFC). В 1997 році вони були включені до Java 1.1 у вигляді окремої бібліотеки. А починаючи з версії Java 1.2, класи Swing (а також усі останні, що входили до JFC) стали повністю інтегрованимим в Java.
Архітектура
![]() | Цей розділ потребує доповнення. |
- Незалежність від платформи: Swing —- платформо-незалежна бібліотека, що означає, що програму з використанням Swing можна запустити на всіх платформах, які підтримують JVM.
- Можливість для розширення: Swing —- дуже розділена архітектура, яка дозволяє «підключати» реалізації користувача вказаної інфраструктури інтерфейсів: користувачі можуть створити свою власну реалізацію цих компонентів, щоб замінити компоненти без обумовлення (за замовчуванням). Взагалі, користувачі Swing можуть розширити структуру, продовжуючи (з допомогою extend) існуючі класи і/або створюючи альтернативні реалізації основних компонентів.
Література
- Matthew Robinson, Pavel Vorobiev: Swing, Second Edition, Manning, ISBN 1-930110-88-X
- David M. Geary: Graphic Java 2, Volume 2: Swing, Prentice Hall, ISBN 0-13-079667-0
- John Zukowski: The Definitive Guide to Java Swing, Third Edition, Apress, ISBN 1-590-59447-9
- James Elliott, Robert Eckstein, Marc Loy, David Wood, Brian Cole: Java Swing, O'Reilly, ISBN 0-596-00408-7
- Kathy Walrath, Mary Campione, Alison Huml, Sharon Zakhour: The JFC Swing Tutorial: A Guide to Constructing GUIs, Addison-Wesley Professional, ISBN 0-201-91467-0
- Joshua Marinacci, Chris Adamson: Swing Hacks, O'Reilly, ISBN 0-596-00907-0
- Иван Портянкин: Swing: Эффектные пользовательские интерфейсы, Санкт-Петербург ISBN 5-469-00005-2
Зовнішні посилання
Див. також