Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Java: IDEEclipse. Создание stand-alone SWT приложений

Eclipse. Создание stand-alone SWT приложений

Среда разработки Eclipse позволяет создавать различные Java приложения, а при использовании плагинов дочерних проектов может служить отличой IDE и для других языков программирования (например C++). Одной из интересных возможностей данного проекта является библиотека построения графического интерфейса Standart Widget Toolkit (SWT). Это быстродействующая алтернатива стандартным библиотекам AWT и SWING, которая была разработана подразделением Rational фирмы IBM и  компанией Object Technology International (OTI). Данную библиотеку можно успешно применять для построения пользовательского интерфейса java приложений.

Создадим новый java проект. Для этого выберем меню «File->New». Выберем «JavaProject» в дереве мастеров. В следующей закладке мастера проекта введем имя проекта «by.bs.swt.hello». В закладке «Librares» страницы «Java settings» мастера создания проекта добавим требуемую библиотеку (эту операцию можно сделать потом, редактируя свойства проекта). Нажмем кнопку «Add Library» и выберем «Standart Widget Toolkit (SWT)» (см. рис. 1).

Кликните для просмотра увеличенного изображения

Рис. 1. Добавление библиотеки SWT 

Создадим пакет «by.bs.swt» и добавим в него новый класс «HelloSwt», который будет содержать следующий код:

package by.bs.swt;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SwtHello {
    
public static void main(String[] args) {
      //Создаем объект Display для связи SWT
      //С дисплеем операционной системы
        Display display = new Display();
        //Создаем окно программы
        Shell shell = new Shell(display);
        shell.setText("SWT Hello");
        shell.setSize(200100);
        shell.open();

        //Обработка закрытия окна
        while (!shell.isDisposed()) {
          if (!display.readAndDispatch()) {
                display.sleep()
            }
        }
        //Ресурсы операционной системы
        //должны быть освобождены 
        display.dispose();
    }
}

Для старта stand-alone SWT приложения нужно добавить в закладку «Librares» свойств проекта файл swt.jar, который находится в каталоге plugins/org.eclipse.swt.<платформа и версия>.ws.<window system>. Пути к библиотеке swt.jar для различных платформ сведены в таблицу 1.

Таблица 1. Настройка пути к библиотеке swt.jar для различных платформ

ОС

Путь к библиотеке swt

win32 INSTALLDIReclipsepluginsorg.eclipse.swt.win32_3.0.0wswin32swt.jar
gtk INSTALLDIR/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt.jar
motif INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_3.0.0/ws/motif/swt.jar
photon INSTALLDIR/eclipse/plugins/org.eclipse.swt.photon_3.0.0/ws/photon/swt.jar
macosx INSTALLDIR/eclipse/plugins/org.eclipse.swt.carbon_3.0.0/ws/carbon/swt.jar

Например, для win32:

D:jideeclipse3pluginsorg.eclipse.swt.win32_3.0.0wswin32swt.jar

ПРИМЕЧАНИЕ

Файл swt.jar был добавлен в мастере проектов ранее. Для некоторых платформ требуется дополнительные библиотеки. Например, для GTK требуются swt.jar, swt-pi.jar и swt-mozilla.jar. Соответственно, все эти файлы должны быть добавлены в путь поиска библиотек.

Также, для отладки или запуска stand-alone SWT java приложений, нужно в редакторе «VM arguments» указать путь к нативной библиотеке SWT (закладка «Arguments» панели параметров запуска приложения). Варианты настройки путей для различных платформ сведены в таблицу 2.

Таблица 2.Параметры Java машины запуска SWT приложений для различных платформ

ОС

Строка параметров

win32 -Djava.library.path=INSTALLDIRpluginsorg.eclipse.swt.win32_3.0.0oswin32x86
linux gtk -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86
linux motif -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_3.0.0/os/linux/x86
solaris motif -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_3.0.0/os/solaris/sparc
aix motif -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_3.0.0/os/aix/ppc
hpux motif -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_3.0.0/os/hpux/PA_RISC
photon qnx -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.photon_3.0.0/os/qnx/x86
macosx -Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.carbon_3.0.0/os/macosx/ppc

Пример строки параметров запуска для платформы win32:

-Djava.library.path=D:jideeclipse3pluginsorg.eclipse.swt.win32_3.0.0oswin32x86

Создадим профиль отладки приложения. Для этого вызовем меню «Run->Debug». Добавим новую конфигурацию отладки «Java Application» и укажем требуемые аргументы для Java машины (см. Рис. 2).

Кликните для просмотра увеличенного изображения

Рис. 2. Настройка параметров отладки

Запускаем созданное приложение. В результате получим показанное на рисунке 3 окно.

Пример программы

Рис. 3. Простое SWT приложение

Рекомендуемые ресурсы:

http://www.eclipse.org/

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.examples/doc-html/swt_manual_setup.html?rev=1.21

http://eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html

http://www.eclipse.org/articles/swt-design-2/swt-design-2.html



Автор: Сергей Бердачук
http://www.berdaflex.com



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95