<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.cusu.edu.ua/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
		<id>https://wiki.cusu.edu.ua/index.php?action=history&amp;feed=atom&amp;title=Swing</id>
		<title>Swing - Історія редагувань</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.cusu.edu.ua/index.php?action=history&amp;feed=atom&amp;title=Swing"/>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php?title=Swing&amp;action=history"/>
		<updated>2026-07-06T04:16:16Z</updated>
		<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php?title=Swing&amp;diff=260712&amp;oldid=prev</id>
		<title>V kotyak в 08:06, 11 січня 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php?title=Swing&amp;diff=260712&amp;oldid=prev"/>
				<updated>2017-01-11T08:06:03Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Попередня версія&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версія за 08:06, 11 січня 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Рядок 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Рядок 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[ПКДзJ|На початок курсу]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>V kotyak</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php?title=Swing&amp;diff=117609&amp;oldid=prev</id>
		<title>V kotyak: Створена сторінка: Swing — інструментарій для створення графічного інтерфейсу користувача (GUI) мовою програму...</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php?title=Swing&amp;diff=117609&amp;oldid=prev"/>
				<updated>2014-02-17T08:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;Створена сторінка: Swing — інструментарій для створення графічного інтерфейсу користувача (GUI) мовою програму...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Swing — інструментарій для створення графічного інтерфейсу користувача (GUI) мовою програмування Java. Це частина бібліотеки базових класів Java (JFC, Java Foundation Classes).&lt;br /&gt;
&lt;br /&gt;
Swing розробляли для забезпечення функціональнішого набору програмних компонентів для створення графічного інтерфейсу користувача, ніж у ранішого інструментарію AWT. Компоненти Swing підтримують специфічні look-and-feel модулі, що динамічно підключаються. Завдяки ним можлива емуляція графічного інтерфейсу платформи (тобто до компоненту можна динамічно підключити інші, специфічні для даної операційної системи вигляд і поведінку). Основним недоліком таких компонентів є відносно повільна робота, хоча останнім часом це не вдалося підтвердити через зростання потужності персональних комп'ютерів. Позитивна сторона —— універсальність інтерфейсу створених програм на всіх платформах.&lt;br /&gt;
&lt;br /&gt;
==Історія==&lt;br /&gt;
&lt;br /&gt;
На початку існування Java класів Swing не було взагалі. Через слабкі місця в AWT (початковій GUI системі Java) було створено Swing. AWT визначає базовий набір елементів керування, вікон та діалогів, які підтримують придатний до використання, але обмежений у можливостях графічний інтерфейс. Однією з причин обмеженості AWT є те, що AWT перетворює свої візуальні компоненти у відповідні їм еквіваленти, що не залежать від платформи, які називаються рівноправними компонентами. Це означає, що зовнішній вигляд компонентів визначається платформою, а не закладається в Java. Оскільки компоненти AWT використовують «рідні» ресурси коду, вони називаються ваговитими (англ. highweigh).&lt;br /&gt;
&lt;br /&gt;
Використання «рідних» рівноправних компонентів породжує деякі проблеми. По-перше, у зв'язку із різницею, що існує між операційними системами, компонент може виглядати або навіть вести себе по-різному на різноманітних платформах. Така мінливість суперечила філософії Java: «написане один раз, працює скрізь». По-друге, зовнішній вигляд кожного компонента був фіксованим (оскільки усе залежало від платформи), і це неможливо було змінити (принаймні, це важко було зробити). По-третє, використання ваговитих компонентів тягнуло за собою появу нових обмежень. Наприклад, ваговитий компонент завжди має прямокутну форму і є непрозорим.&lt;br /&gt;
&lt;br /&gt;
Незабаром після появи початкової версії Java, стало очевидним, що обмеження, властиві AWT, були настільки незручними, що потрібно було знайти кращий підхід. У результаті з'явились класи Swing як частина бібліотеки базових класів Java (JFC). В 1997 році вони були включені до Java 1.1 у вигляді окремої бібліотеки. А починаючи з версії Java 1.2, класи Swing (а також усі останні, що входили до JFC) стали повністю інтегрованимими у Java.&lt;br /&gt;
&lt;br /&gt;
==Архітектура==&lt;br /&gt;
&lt;br /&gt;
Незалежність від платформи: Swing — платформо-незалежна бібліотека, що означає, що програму з використанням Swing можна запустити на всіх платформах, які підтримують JVM.&lt;br /&gt;
&lt;br /&gt;
Можливість для розширення: Swing — дуже розподілена архітектура, яка дозволяє «підключати» реалізації користувача вказаної інфраструктури інтерфейсів: користувачі можуть створити свою власну реалізацію цих компонентів, щоб замінити компоненти без обумовлення (за замовчуванням). Взагалі, користувачі Swing можуть розширити структуру, продовжуючи (з допомогою extends) існуючі класи і/або створюючи альтернативні реалізації основних компонентів.&lt;br /&gt;
&lt;br /&gt;
== Приклад ==&lt;br /&gt;
&lt;br /&gt;
Наступний код демонструє основи використання Swing. Ця програма зображує вікно (JFrame), у вікні міститиметься кнопка з написом «Натисніть сюди» на ній та написом праворуч «Ця кнопка не робить нічого:».&lt;br /&gt;
&lt;br /&gt;
 package com.example;&lt;br /&gt;
 // Імпортує swing і AWT класи&lt;br /&gt;
 import java.awt.EventQueue;&lt;br /&gt;
 import java.awt.FlowLayout;&lt;br /&gt;
 import javax.swing.JButton;&lt;br /&gt;
 import javax.swing.JFrame;&lt;br /&gt;
 import javax.swing.JLabel;&lt;br /&gt;
 import javax.swing.WindowConstants;&lt;br /&gt;
 /**&lt;br /&gt;
 * Простий приклад використання Swing&lt;br /&gt;
 */&lt;br /&gt;
 public class SwingExample {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        // Упевнюємося, що всі виклики Swing/AWT виконуються Event Dispatch Thread (&amp;quot;EDT&amp;quot;)&lt;br /&gt;
        EventQueue.invokeLater(new Runnable() {&lt;br /&gt;
            @Override&lt;br /&gt;
            public void run() {&lt;br /&gt;
                // Створюємо JFrame, що має вигляд вікна з &amp;quot;декораціями&amp;quot;, &lt;br /&gt;
                // наприклад заголовком і кнопкою закриття&lt;br /&gt;
                JFrame f = new JFrame(&amp;quot;Приклад вікна Swing&amp;quot;);&lt;br /&gt;
                // Установлюємо простий менеджер розмітки, що впорядковує всі компоненти&lt;br /&gt;
                f.setLayout(new FlowLayout());&lt;br /&gt;
                // Додаємо компоненти&lt;br /&gt;
                f.add(new JLabel(&amp;quot;Ця кнопка не робить нічого:&amp;quot;));&lt;br /&gt;
                f.add(new JButton(&amp;quot;Натисніть сюди!&amp;quot;));&lt;br /&gt;
                // &amp;quot;Пакує&amp;quot; вікно, тобто робить його величину відповідну до її компонентів&lt;br /&gt;
                f.pack();&lt;br /&gt;
                // Встановлюємо стандартну операцію закриття для вікна, &lt;br /&gt;
                // без цього вікно не закриється після активування кнопки закриття&lt;br /&gt;
                //  (Стандартно HIDE_ON_CLOSE, що просто приховує вікно)&lt;br /&gt;
                f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);&lt;br /&gt;
                // Уснановлюємо видимість=істина, тим самим показуючи вікно на екрані&lt;br /&gt;
                f.setVisible(true);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>V kotyak</name></author>	</entry>

	</feed>