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

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) існуючі класи і/або створюючи альтернативні реалізації основних компонентів.

Література

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

Див. також