Standard Widget Toolkit

Standard Widget Toolkit
Скриншот программы Standard Widget Toolkit
Eclipse IDE, приложение, основанное на SWT
Тип Инструментарий виджетов для платформы Java
Разработчик Eclipse Foundation
Написана на Java[1]
Операционная система Cross-platform
Языки интерфейса Multilingual
Аппаратная платформа Java Virtual Machine
Последняя версия 4.29 (3 сентября 2023 года)
Репозиторий github.com/eclipse-platf…
Состояние Active
Лицензия Eclipse Public License
Сайт eclipse.org/swt/
Логотип Викисклада Медиафайлы на Викискладе

Standard Widget Toolkit, или SWT (произносится «свит») — библиотека с открытым исходным кодом для разработки графических интерфейсов пользователя на языке Java.

Разработана фондом Eclipse, лицензируется под Eclipse Public License, одной из лицензий открытого ПО.

SWT не является самостоятельной графической библиотекой, а представляет собой кросс-платформенную оболочку для графических библиотек конкретных платформ, например, под Linux SWT использует библиотеку GTK+. SWT написана на стандартной Java и получает доступ к OS-специфичным библиотекам через Java Native Interface, который рассматривается в качестве сильного средства, несмотря на то, что это не является чистой Java.

SWT — альтернатива AWT и Swing (Sun Microsystems) для разработчиков, желающих получить привычный внешний вид программы в данной операционной системе. Использование SWT делает Java-приложение более эффективным, но снижает независимость от операционной системы и оборудования, требует ручного освобождения ресурсов и в некоторой степени нарушает Sun-концепцию платформы Java.

Результат в среде GTK
import org.eclipse.swt.*; import org.eclipse.swt.widgets.*;  public class HelloWorld {    public static void main (String[] args) {       Display display = new Display();       Shell shell = new Shell(display);       Label label = new Label(shell, SWT.NONE);       shell.setSize(300,200);       label.setText("Hello World");       label.pack();       shell.open();       while (!shell.isDisposed()) {           if (!display.readAndDispatch ()) display.sleep ();        }        display.dispose ();    } } 

Примечания

[править | править код]