Перейти до вмісту

Swing (Java)

Матеріал з Вікіпедії — вільної енциклопедії.

Swing — інструментарій для створення GUI на мові програмування Java. Це частина бібліотеки базових класів Java (JFC, Java Foundation Classes).

Swing розробляли, щоб забезпечити більш функціональний набір програмних компонентів графічного інтерфейсу користувача ніж у ранішого інструментарію AWT. Компоненти Swing підтримують специфічні look-and-feel модулі, що динамічно підключаються. Завдяки ним можлива адаптація до графічного інтерфейсу платформи (тобто до компоненту можна динамічно підключити інший, специфічний для даної операційної системи вигляд і поведінку). Основним мінусом таких компонентів є відносно повільна робота. Позитивна сторона —- універсальність інтерфейсу створених застосунків на всіх платформах.

Історія

На початку існування Java класів Swing не було взагалі. Через слабкі місця в AWT (початковій GUI системі Java) було створено Swing. AWT визначає базовий набір елементів керування, вікон та діалогів, які підтримують придатний до використання, але обмежений у можливостях графічний інтерфейс. Однією з причин обмеженості AWT є те, що AWT перетворює свої візуальні компоненти у відповідні їм еквіваленти, що не залежать від платформи, які називаються рівноправними компонентами. Це означає, що зовнішній вигляд компонентів визначається платформою, а не закладається в Java. Оскільки компоненти AWT використовують "рідні" ресурси коду, вони називаються ваговитими.

Використання "рідних" рівноправних комонентів породжує деякі проблеми. По-перше, у зв'язку із різницею, що існує між операційними системами, компонент може виглядати або навіть вести себе по-різному на різноманітних платформах. Така мінливість суперечила філософії Java: "написане один раз, працює скрізь". По-друге, зовнішній вигляд кожного компонента був фіксованим(оскільки усе залежало від платформи), і це неможливо було змінити(принаймні, це важко було зробити). По-третє, використання ваговитих компонентів тягнуло за собою появу нових обмежень. Наприклад, ваговитий компонент завжди має прямокутну форму і є непрозорим.

Незабаром після появи початкової версії Java, стало очевидним, що обмеження, властиві AWT, були настільки важливими, що потрібно було знайти кращий підхід. в результаті з'явились класи Swing як частина бібліотеки базових класів Java (JFC). В 1997 році вони були включені до Java 1.1 у вигляді окремої бібліотеки. А починаючи з версії Java 1.2, класи Swing (а також усі останні, що входили до JFC) стали повністю інтегрованимим в Java.

Архітектура

  • Незалежність від платформи: Swing —- платформо-незалежна бібліотека, що означає, що програму з використанням Swing можна запустити на всіх платформах, які підтримують JVM.
  • Можливість для розширення: Swing —- дуже розділена архітектура, яка дозволяє «підключати» реалізації користувача вказаної інфраструктури інтерфейсів: користувачі можуть створити свою власну реалізацію цих компонентів, щоб замінити компоненти без обумовлення (за замовчуванням). Взагалі, користувачі Swing можуть розширити структуру, продовжуючи (з допомогою extend) існуючі класи і/або створюючи альтернативні реалізації основних компонентів.

Література

Зовнішні посилання

Див. також