Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Вклады
                Лемур GUI
                    Начнем

Начнем

Опубликованно: 28.04.2017, 23:33
Последняя редакция, Andry: 30.04.2017 11:20

Контрольный список

  • Загрузите Lemur.jar
  • Загрузите Lemur-proto.jar
  • Загрузите Lemur Dependencies
  • Включить в проект jars
  • Инициализация слоя GUI
  • Инициализация стиля по умолчанию
  • Создадим GUI

Загрузки

Загрузите последнюю версию ядра Lemur отсюда: Latest

Также рекомендуется взять последний Lemur-proto.jar, так как он содержит много полезных компонентов, которые «инкубируют» и, в конечном счете, будут включены в основной модуль. Проверьте страницу выпуска Lemur для того что бы увидеть какая последняя релизная версия. Это текущий выпуск на момент написания статьи.

Возможно, стоит взять jar-файлы jaradoc для каждого или просто пометить эти ссылки:

Обязательные зависимости

Лемур требует минимального количества внешних зависимостей, многие из которых будут полезны в ваших проектах.

  • Версия Guava 12 или новее
  • Slf4j версии 1.7.5 или более поздней, плюс адаптер для вашей предпочитаемой структуры ведения журнала. (Как минимум, вам понадобится фляга API, что-то вроде: slf4j-api-1.7.5.jar)
  • JME-версия 3.1-alpha или более поздняя. (Рекомендуется бета-версия 1 или выше)
  • (Необязательно, но настоятельно рекомендуется) Groovy версии 2.1.9 или новее. Это нужно только в том случае, если вы хотите использовать поддержку языка стилей, и в конце вам нужен только groovy-all.jar. (Например: groovy-all-2.1.9.jar)

Включить Jars

Это специфика IDE, но вы должны включить указанные выше jars в качестве зависимостей для вашего проекта. (Лемур также доступен в JCenter как стандартная зависимость gradle/maven.) В JME SDK щелкните правой кнопкой мыши по Libraries в дереве проекта и выберите «Add JAR/Folder…».

Add jar

Альтернативные: зависимости Gradle

Если вы используете инструмент построения, например gradle или maven (или поддержку в вашей IDE по выбору), то Lemur доступен через JCenter. Это автоматически включит любые зависимости, которые вам нужны.

Пример включения Lemur и Lemur-proto в построение градиента:

dependencies {
    compile "com.simsilica:lemur:1.10.1"
    compile "com.simsilica:lemur-proto:1.9.1"
}

Полный пример проекта, использующего Lemur в построении градиента, см .: SimEthereal Basic Example

Инициализация слоя GUI

Лемур требует минимальной инициализации для установки своих внутренних параметров по умолчанию, регистрации некоторых базовых слушателей в системе и установки некоторых состояний приложений по умолчанию. Для этого требуется только одна строка кода: GuiGlobals.initialize(app)

Это должно быть сделано в начале инициализации приложения, но после запуска jME, поэтому обычно это делается в методе simpleInit() следующим образом:

@Override
public void simpleInitApp() {

    // Инициализируйте доступ к глобальным переменным, чтобы
    // компоненты могли найти то, что им нужно.
    GuiGlobals.initialize(this);
....

Инициализация стиля по умолчанию

На этом этапе вы можете создать графический интерфейс. Вот простой пример:

// Создайте простой контейнер для наших элементов
Container myWindow = new Container();
guiNode.attachChild(myWindow);

// Поместите его где-нибудь, чтобы мы его увидели.
// Примечание. Элементы графического интерфейса Lemur растут из левого верхнего угла.
myWindow.setLocalTranslation(300, 300, 0);

// Добавить элементы
myWindow.addChild(new Label("Hello, World."));
Button clickMe = myWindow.addChild(new Button("Click Me"));
clickMe.addClickCommands(new Command<Button>() {
        @Override
        public void execute( Button source ) {
            System.out.println("The world is yours.");
        }
    });

Он должен выглядеть так, когда вы запустите его:

Add jar

Если так, то Поздравляем!

Полный исходный код:

package mygame;

import com.jme3.app.SimpleApplication;
import com.simsilica.lemur.Button;
import com.simsilica.lemur.Command;
import com.simsilica.lemur.Container;
import com.simsilica.lemur.GuiGlobals;
import com.simsilica.lemur.Label;
import com.simsilica.lemur.style.BaseStyles;

public class GuiDemo extends SimpleApplication {

    public static void main( String... args ) {
        GuiDemo main = new GuiDemo();
        main.start();
    }           
    
    @Override
    public void simpleInitApp() {
            
        // Инициализируйте доступ к глобальным переменным, чтобы
        // компоненты могли найти то, что им нужно.
        GuiGlobals.initialize(this);
            
        // Загрузите стиль 'glass'
        BaseStyles.loadGlassStyle();
            
        // Устанавливать 'glass' как стиль по умолчанию, если не указано
        GuiGlobals.getInstance().getStyles().setDefaultStyle("glass");
    
        // Создайте простой контейнер для наших элементов
        Container myWindow = new Container();
        guiNode.attachChild(myWindow);
            
        // Разместите это где-нибудь, что бы мы могли видеть это
        // Примечание. Элементы графического интерфейса Lemur растут из левого верхнего угла.
        myWindow.setLocalTranslation(300, 300, 0);
    
        // Добавить элементы
        myWindow.addChild(new Label("Hello, World."));
        Button clickMe = myWindow.addChild(new Button("Click Me"));
        clickMe.addClickCommands(new Command<Button>() {
                @Override
                public void execute( Button source ) {
                    System.out.println("The world is yours.");
                }
            });            
    }    
}

Что дальше?

Хорошим местом для начала будет страница документации.


Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.