Standard Widget Toolkit

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «SWT»)
Standard Widget Toolkit
Скриншот программы Standard Widget ToolkitEclipse IDE, приложение, основанное на SWT
Тип Инструментарий виджетов для платформы Java
Разработчик Eclipse Foundation
Операционная система Cross-platform
Языки интерфейса Multilingual
Последняя версия 4.24M1 (7 апреля 2022 года)
Состояние 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 ();
   }
}

См. также

Примечания

Ссылки