Miami-art.ru

Создание и развитие сайта

SWT

28-07-2023

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 ();
   }
}

См. также

  • Разработка встроенных приложений с использованием eSWT)
  • Eclipse
  • JFace
  • JNI

Ссылки

  • Проект Standard Widget Toolkit
  • SWT на EclipseWiki
  • Начало использования Eclipse и SWT
  • SWT Programming with Eclipse
  • Презентация «Введение в SWT» Бена Галбраша (англ. Ben Galbraith)
  • Eclipse Nebula


SWT.

© 2018–2023 miami-art.ru, Россия, Смоленск, ул. Загорская 8, офис 99, +7 (4812) 12-23-90