Example usage for com.badlogic.gdx.scenes.scene2d.ui List List

List of usage examples for com.badlogic.gdx.scenes.scene2d.ui List List

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.ui List List.

Prototype

public List(ListStyle style) 

Source Link

Usage

From source file:ateamproject.kezuino.com.github.render.screens.StoreScreen.java

public StoreScreen(Game game) {
    super(game);//w w w . j a v  a2  s  .  c om
    Sound sound = Assets.manager.get("sounds/menu.mp3", Sound.class);
    if (sound != null) {
        sound.loop();
    }

    TextButton btnBack = new TextButton("Terug", skin);
    btnBack.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (sound != null) {
                sound.dispose();
            }
            game.setScreen(new MainScreen(game));

        }
    });
    float x = 240;
    float y = stage.getHeight() / 4;
    btnBack.setSize(200, 40);
    btnBack.setPosition(x, y);

    Label lblStore = new Label("Winkel", skin);
    lblStore.setColor(Color.YELLOW);
    lblStore.setPosition(x, y + 300);

    List listStoreItems = new List(skin);
    String[] skinsArray = { "Skin pack", "Minecraft pack" };
    listStoreItems.setItems((Object) skinsArray);
    listStoreItems.setPosition(x, y + 200);

    TextButton btnBuy = new TextButton("Koop item", skin);
    btnBuy.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // game.setScreen(new HomeScreen(game));
        }
    });
    btnBuy.setSize(200, 40);
    btnBuy.setPosition(x - 50, y + 50);

    TextButton btnSelect = new TextButton("Selecteer item", skin);
    btnSelect.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // game.setScreen(new HomeScreen(game));
        }
    });
    btnSelect.setSize(200, 40);
    btnSelect.setPosition(x + 50, y + 50);

    stage.addActor(btnBack);
    stage.addActor(lblStore);
    stage.addActor(listStoreItems);

    backgroundMusic = Assets.getMusicStream("menu.mp3");
}

From source file:com.andgate.ikou.view.LevelSelectScreen.java

License:Open Source License

private Table buildLevelsTable() {
    String[] levelNames = new String[levelDatas.length];

    for (int i = 0; i < levelDatas.length; i++) {
        levelNames[i] = levelDatas[i].name;
    }//  w  ww  .j  a v  a  2  s.c o m

    final List.ListStyle levelNameListStyle = new List.ListStyle(game.skin.get(ListStyle.class));
    levelNameListStyle.font = game.menuOptionFont;

    int currentSelectedIndex = -1;
    if (levelNameList != null)
        currentSelectedIndex = levelNameList.getSelectedIndex();

    levelNameList = new List(levelNameListStyle);
    levelNameList.setItems(levelNames);
    levelNameList.setSelectedIndex(currentSelectedIndex);
    levelNameList.addListener(new LevelSelectInputListener(levelNameList, this, levelDatas));

    float sidePadding = 1.0f * game.ppm;
    Table levelsTable = new Table();
    levelsTable.add(levelNameList).pad(0.0f, sidePadding, 0.0f, sidePadding).row();

    return levelsTable;
}

From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java

@Override
public void create() {
    // Initialize object
    batch = new SpriteBatch();
    camera = new OrthographicCamera();

    FileHandleResolver resolver = new InternalFileHandleResolver();
    assetManager = new AssetManager(resolver);
    assetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver));

    resolver = new AbsoluteFileHandleResolver();
    externalAssetManager = new AssetManager(resolver);
    externalAssetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver));

    assetManager.load("uiskin.json", Skin.class);
    assetManager.finishLoading();//  ww  w  . java 2  s  .c  o m

    skin = assetManager.get("uiskin.json");

    // Create widgets
    stage = new Stage(new ScreenViewport(camera), batch);

    Label titleLabel = new Label("gdx-spriter", skin);
    titleLabel.setFontScale(3f);

    Label fpsLabel = new Label("FPS", skin) {
        @Override
        public void act(float delta) {
            this.setText(Gdx.graphics.getFramesPerSecond() + " FPS");
            super.act(delta);
        }
    };

    fileChooser = new SelectBox<SpriterDemoFileHandle>(skin);
    fileChooser.setName("Files");
    fileChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeSpriterFile(fileChooser.getSelected());
            lastUsedSelectBox = fileChooser;
        }
    });

    Button fileFinder = new TextButton("Browse", skin);
    fileFinder.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            FileDialog fileDialog = new FileDialog((java.awt.Frame) null, "Choose Spriter file",
                    FileDialog.LOAD);
            fileDialog.setDirectory(lastFolderBrowsed);
            fileDialog.setResizable(true);
            fileDialog.setVisible(true);
            String file = fileDialog.getFile();
            String directory = fileDialog.getDirectory();
            if (directory != null) {
                lastFolderBrowsed = directory;
            }
            if (file != null) {
                String path = directory + file;
                addFile(Gdx.files.absolute(path), externalAssetManager);
                fileChooser.setItems(files);
                fileChooser.setSelectedIndex(fileChooser.getItems().size - 1);
            }
        }
    });

    entityChooser = new SelectBox<SpriterAnimator>(skin);
    entityChooser.setName("Entities");
    entityChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeAnimator(entityChooser.getSelected());
            lastUsedSelectBox = entityChooser;
        }
    });

    animationChooser = new SelectBox<String>(skin);
    animationChooser.setName("Animations");
    animationChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeAnimation(animationChooser.getSelected());
            lastUsedSelectBox = animationChooser;
        }
    });

    final CheckBox transitionCheckbox = new CheckBox("Transition", skin);
    transitionCheckbox.setChecked(transition);
    transitionCheckbox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            transition = transitionCheckbox.isChecked();
        }
    });

    charmapChooser = new List<SpriterCharacterMap>(skin);
    ArraySelection<SpriterCharacterMap> selection = charmapChooser.getSelection();
    selection.setMultiple(true);
    selection.setRangeSelect(false);
    selection.setToggle(false);
    selection.setRequired(false);
    charmapChooser.setName("Charmaps");
    charmapChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeCharacterMaps(charmapChooser.getSelection().items().orderedItems());
        }
    });

    angleSlider = new SpriterDemoAnimatorSlider(0, 360, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setRotation(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getRotation();
        }
    };

    pivotXSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setPivotX(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getPivotX();
        }
    };

    pivotYSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setPivotY(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getPivotY();
        }
    };

    scaleXSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setScaleX(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getScaleX();
        }
    };

    scaleYSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setScaleY(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getScaleY();
        }
    };

    alphaSlider = new SpriterDemoAnimatorSlider(0f, 1f, 0.01f, skin, "%.2f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setAlpha(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getAlpha();
        }
    };

    speedSlider = new SpriterDemoAnimatorSlider(0f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setSpeed(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getSpeed();
        }
    };

    allAnimatorSliders = new SpriterDemoAnimatorSlider[] { scaleXSlider, scaleYSlider, pivotXSlider,
            pivotYSlider, angleSlider, alphaSlider, speedSlider };

    metaLabel = new Label("Meta: ", skin);
    metaLabel.setWrap(true);
    metaLabel.setAlignment(Align.topLeft);

    spriterPlaceholder = new Label("No animator", skin);
    spriterPlaceholder.setAlignment(Align.center);

    spriterAnimator = new SpriterAnimatorActor(animator);
    spriterAnimator.debug();

    playPauseButton = new ImageButton(skin, "play");
    playPauseButton.setChecked(true);
    playPauseButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            boolean playing = playPauseButton.isChecked();
            spriterAnimator.setDisabled(!playing);
        }
    });

    timeSlider = new Slider(0f, 2000f, 1, false, skin);
    timeSlider.addListener(timeSliderListener = new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (animator == null)
                return;
            animator.setTime(timeSlider.getValue());
            animator.update(0f);
        }
    });

    timeLabel = new Label("---", skin);

    // Put everything in place

    Table titleTable = new Table(skin);
    titleTable.add(titleLabel).pad(6f);
    titleTable.add().expandX();
    titleTable.add(fpsLabel).padRight(10f);

    Table selectionTable = new Table(skin);
    selectionTable.defaults().pad(3f);

    Table filesTable = new Table(skin);
    filesTable.row();
    filesTable.add(fileChooser).expand().fillX();
    filesTable.add(fileFinder).padLeft(2f).padRight(1f);

    Table animationsTable = new Table(skin);
    animationsTable.row();
    animationsTable.add(animationChooser).expand().fill();
    animationsTable.add(transitionCheckbox).fillX().padLeft(2f);

    ScrollPane scrollableCharmapChooser = new ScrollPane(charmapChooser);

    Table menuTable = new Table(skin);
    menuTable.defaults().pad(3f).expandX().fillX();
    menuTable.row();
    menuTable.add(titleTable).colspan(2);
    menuTable.row();
    menuTable.add("File");
    menuTable.add(filesTable).pad(4f);
    menuTable.row();
    menuTable.add("Entity");
    menuTable.add(entityChooser).pad(4f);
    menuTable.row();
    menuTable.add("Animation");
    menuTable.add(animationsTable).pad(4f);
    menuTable.row();
    menuTable.add("Maps");
    menuTable.add(scrollableCharmapChooser).pad(4f);
    menuTable.row();
    menuTable.add("Angle");
    menuTable.add(angleSlider);
    menuTable.row();
    menuTable.add("Pivot X");
    menuTable.add(pivotXSlider);
    menuTable.row();
    menuTable.add("Pivot Y");
    menuTable.add(pivotYSlider);
    menuTable.row();
    menuTable.add("Scale X");
    menuTable.add(scaleXSlider);
    menuTable.row();
    menuTable.add("Scale Y");
    menuTable.add(scaleYSlider);
    menuTable.row();
    menuTable.add("Alpha");
    menuTable.add(alphaSlider);
    menuTable.row();
    menuTable.add("Speed");
    menuTable.add(speedSlider);
    menuTable.row();
    menuTable.add().expandY();

    Table contentTable = new Table(skin);
    contentTable.row();
    contentTable.add(metaLabel).left().expandX().maxHeight(1f);
    contentTable.row();
    contentTable.stack(spriterPlaceholder, spriterAnimator).expand();

    Table timelineTable = new Table(skin);
    timelineTable.row();
    timelineTable.add("Timeline").expandX().align(Align.bottom);
    timelineTable.row();
    timelineTable.add(timeSlider).expandX().fillX();
    timelineTable.row();
    timelineTable.add(timeLabel).expandX().align(Align.top);

    Table controlTable = new Table(skin);
    controlTable.add(playPauseButton).space(5f).expandY().fillY();
    controlTable.add(timelineTable).expandX().fillX();

    rootTable = new Table(skin);
    rootTable.setFillParent(true);
    rootTable.row();
    rootTable.add(menuTable).expandY().fill();
    rootTable.add(contentTable).expand().fill();
    rootTable.row();
    rootTable.add(controlTable).colspan(2).expandX().fillX();

    stage.addActor(rootTable);

    // Bring input processing to the party

    InputProcessor globalInput = new InputProcessor() {
        @Override
        public boolean keyDown(int keycode) {
            switch (keycode) {
            case Keys.UP:
            case Keys.Z:
            case Keys.W:
                if (lastUsedSelectBox != null)
                    lastUsedSelectBox.setSelectedIndex(Math.max(lastUsedSelectBox.getSelectedIndex() - 1, 0));
                break;
            case Keys.DOWN:
            case Keys.S:
                if (lastUsedSelectBox != null)
                    lastUsedSelectBox.setSelectedIndex(Math.min(lastUsedSelectBox.getSelectedIndex() + 1,
                            lastUsedSelectBox.getItems().size - 1));
                break;

            default:
                break;
            }
            return true;
        }

        @Override
        public boolean keyUp(int keycode) {
            return false;
        }

        @Override
        public boolean keyTyped(char character) {
            return false;
        }

        @Override
        public boolean touchDown(int screenX, int screenY, int pointer, int button) {
            return false;
        }

        @Override
        public boolean touchUp(int screenX, int screenY, int pointer, int button) {
            return false;
        }

        @Override
        public boolean touchDragged(int screenX, int screenY, int pointer) {
            return false;
        }

        @Override
        public boolean mouseMoved(int screenX, int screenY) {
            return false;
        }

        @Override
        public boolean scrolled(int amount) {
            amount *= 0.05f; // Zoom coefficient
            scaleXSlider.setValue(scaleXSlider.getValue() + amount);
            scaleYSlider.setValue(scaleYSlider.getValue() + amount);
            return false;
        }
    };
    Gdx.input.setInputProcessor(new InputMultiplexer(stage, globalInput));

    // Add default test resources
    Array<String> testResources = new Array<String>(SpriterTestData.scml);
    testResources.addAll(SpriterTestData.scon);
    testResources.sort();
    for (String path : testResources)
        addFile(Gdx.files.internal(path.replaceFirst("/", "")), assetManager);

    // Also go discover some unknown exotic resources! (won't work in jar though)
    Array<FileHandle> spriterFiles = SpriterDemoUtils.findFiles(new String[] { "scml", "scon" });
    for (FileHandle f : spriterFiles)
        addFile(f, assetManager);

    fileChooser.setItems(files);

    lastUsedSelectBox = fileChooser;

    if (playPauseButton.isChecked())
        animator.play(animator.getAnimations().iterator().next());
}

From source file:com.jupiter.europa.screen.dialog.LoadGameDialog.java

private void initComponents() {
    this.mainTable = new Table();

    this.listTable = new Table();
    this.loadGameLabel = new Label("Save Games", skin.get(DEFAULT_KEY, Label.LabelStyle.class));
    this.gameList = new List(skin.get(DEFAULT_KEY, List.ListStyle.class));
    this.gameList.setItems((Object[]) EuropaGame.game.getSaveNames());
    this.gameListPane = new ScrollPane(this.gameList, skin.get(DEFAULT_KEY, ScrollPane.ScrollPaneStyle.class));

    this.listTable.add(this.gameListPane).pad(MainMenuScreen.LIST_WRAPPER_PADDING).expand().fill();
    this.listTable.background(skin.get(LIST_BACKGROUND_KEY, SpriteDrawable.class));

    this.okButton = new EuropaButton("Accept", skin.get(DEFAULT_KEY, TextButton.TextButtonStyle.class));
    this.okButton.addClickListener(this::onLoadClick);

    this.cancelButton = new EuropaButton("Cancel", skin.get(DEFAULT_KEY, TextButton.TextButtonStyle.class));
    this.cancelButton.addClickListener(this::onCancelClick);

    this.deleteButton = new EuropaButton("Delete", skin.get(DEFAULT_KEY, TextButton.TextButtonStyle.class));
    this.deleteButton.addClickListener(this::onDeleteClick);

    this.buttonTable = new Table();
    this.buttonTable.add(this.cancelButton).space(MainMenuScreen.COMPONENT_SPACING)
            .width(MainMenuScreen.DIALOG_BUTTON_WIDTH).right().expandX();
    this.buttonTable.add(this.deleteButton).space(MainMenuScreen.COMPONENT_SPACING)
            .width(MainMenuScreen.DIALOG_BUTTON_WIDTH).right();
    this.buttonTable.add(this.okButton).space(MainMenuScreen.COMPONENT_SPACING)
            .width(MainMenuScreen.DIALOG_BUTTON_WIDTH).right();

    this.mainTable.pad(MainMenuScreen.TABLE_PADDING);

    this.mainTable.add(this.loadGameLabel).center().left();
    this.mainTable.row();
    this.mainTable.add(this.listTable).expandY().fill();
    this.mainTable.row();
    this.mainTable.add(this.buttonTable).space(MainMenuScreen.COMPONENT_SPACING).right().expandX().fillX();
    this.mainTable.row();

    this.mainTable.background(this.skin.get(MainMenuScreen.DIALOG_BACKGROUND_KEY, SpriteDrawable.class));

    this.getContentTable().add(this.mainTable).center().expandY().fillY().width(MainMenuScreen.DIALOG_WIDTH);
}

From source file:com.jupiter.europa.screen.dialog.NewGameDialog.java

License:Open Source License

private void initComponents() {
    this.mainTable = new Table();

    this.titleLabel = new Label("Save Name: ", skin.get(DEFAULT_KEY, Label.LabelStyle.class));
    this.gameNameField = new TextField("default", skin.get(DEFAULT_KEY, TextField.TextFieldStyle.class));
    this.gameNameField.setMaxLength(16);
    this.woldLabel = new Label("World:", skin.get(DEFAULT_KEY, Label.LabelStyle.class));
    this.newGameWorldList = new List(skin.get(DEFAULT_KEY, List.ListStyle.class));
    this.newGameWorldList.setItems((Object[]) EuropaGame.game.getWorldNames());
    this.worldPane = new ScrollPane(this.newGameWorldList,
            skin.get(DEFAULT_KEY, ScrollPane.ScrollPaneStyle.class));

    this.listWrapper = new Table();
    this.listWrapper.add(this.worldPane).pad(MainMenuScreen.LIST_WRAPPER_PADDING).expand().fill();
    this.listWrapper.background(skin.get(LIST_BACKGROUND_KEY, SpriteDrawable.class));

    this.nextButton = new EuropaButton("Accept", skin.get(DEFAULT_KEY, TextButton.TextButtonStyle.class));
    this.nextButton.addClickListener((ClickEvent event) -> this.startNewGame());

    this.backButton = new EuropaButton("Back", skin.get(DEFAULT_KEY, TextButton.TextButtonStyle.class));
    this.backButton.addClickListener((ClickEvent event) -> this.cancelNewGame());

    this.buttonTable = new Table();
    this.buttonTable.add(this.backButton).space(MainMenuScreen.COMPONENT_SPACING)
            .width(MainMenuScreen.DIALOG_BUTTON_WIDTH).right().expandX();
    this.buttonTable.add(this.nextButton).space(MainMenuScreen.COMPONENT_SPACING)
            .width(MainMenuScreen.DIALOG_BUTTON_WIDTH).right();

    this.mainTable.pad(MainMenuScreen.TABLE_PADDING);

    this.mainTable.add(this.titleLabel).center().left();
    this.mainTable.add(this.gameNameField).center().left().padTop(15).expandX().fillX();
    this.mainTable.row();
    this.mainTable.add(this.woldLabel).colspan(2).left();
    this.mainTable.row();
    this.mainTable.add(this.listWrapper).colspan(2).expandY().fill();
    this.mainTable.row();
    this.mainTable.add(this.buttonTable).space(MainMenuScreen.COMPONENT_SPACING).colspan(2).right().expandX()
            .fillX();//from   w w  w. j  av a  2 s  . c  o  m
    this.mainTable.row();

    this.mainTable.background(this.skin.get(MainMenuScreen.DIALOG_BACKGROUND_KEY, SpriteDrawable.class));

    this.getContentTable().add(this.mainTable).center().expandY().fillY().width(MainMenuScreen.DIALOG_WIDTH);
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

public void refreshPreview() {
    if (previewTable != null) {
        previewTable.clear();/* w w w  .  j  ava 2s. c om*/
        previewTable.setColor((Color) previewProperties.get("bgcolor"));

        for (BitmapFont font : previewFonts) {
            font.dispose();
        }

        if (classSelectBox.getSelectedIndex() >= 0) {
            StyleData styleData = getSelectedStyle();
            Class clazz = Main.BASIC_CLASSES[classSelectBox.getSelectedIndex()];

            if (!styleData.hasMandatoryFields()) {
                Label label;
                if (clazz.equals(SelectBox.class)) {
                    label = new Label(
                            "Please fill all mandatory fields\n(Highlighted on the left)\n\nscrollStyle and listStyle\nmust already be defined",
                            getSkin());
                } else if (clazz.equals(TextTooltip.class)) {
                    label = new Label(
                            "Please fill all mandatory fields\n(Highlighted on the left)\n\nlabel must already be defined",
                            getSkin());
                } else {
                    label = new Label("Please fill all mandatory fields\n(Highlighted on the left)", getSkin());
                }
                label.setAlignment(Align.center);
                previewTable.add(label);
            } else if (styleData.hasAllNullFields()) {
                Label label;
                label = new Label(
                        "All fields are empty!\nEmpty classes are not exported\nAdd style properties in the menu to the left",
                        getSkin());
                label.setAlignment(Align.center);
                previewTable.add(label);
            } else {
                Actor widget = null;
                if (clazz.equals(Button.class)) {
                    Button.ButtonStyle style = createPreviewStyle(Button.ButtonStyle.class, styleData);
                    widget = new Button(style);
                    ((Button) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(CheckBox.class)) {
                    CheckBox.CheckBoxStyle style = createPreviewStyle(CheckBox.CheckBoxStyle.class, styleData);
                    widget = new CheckBox("", style);
                    ((CheckBox) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((CheckBox) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ImageButton.class)) {
                    ImageButtonStyle style = createPreviewStyle(ImageButtonStyle.class, styleData);
                    widget = new ImageButton(style);
                    ((ImageButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ImageTextButton.class)) {
                    ImageTextButton.ImageTextButtonStyle style = createPreviewStyle(
                            ImageTextButton.ImageTextButtonStyle.class, styleData);
                    widget = new ImageTextButton("", style);
                    ((ImageTextButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((ImageTextButton) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Label.class)) {
                    LabelStyle style = createPreviewStyle(LabelStyle.class, styleData);
                    widget = new Label("", style);
                    ((Label) widget).setText((String) previewProperties.get("text"));
                } else if (clazz.equals(List.class)) {
                    ListStyle style = createPreviewStyle(ListStyle.class, styleData);
                    widget = new List(style);
                    Array<String> items = new Array<>(((String) previewProperties.get("text")).split("\\n"));
                    ((List) widget).setItems(items);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ProgressBar.class)) {
                    ProgressBar.ProgressBarStyle style = createPreviewStyle(ProgressBar.ProgressBarStyle.class,
                            styleData);
                    widget = new ProgressBar((float) (double) previewProperties.get("minimum"),
                            (float) (double) previewProperties.get("maximum"),
                            (float) (double) previewProperties.get("increment"),
                            (boolean) previewProperties.get("orientation"), style);
                    ((ProgressBar) widget).setValue((float) (double) previewProperties.get("value"));
                    ((ProgressBar) widget).setDisabled((boolean) previewProperties.get("disabled"));
                } else if (clazz.equals(ScrollPane.class)) {
                    ScrollPaneStyle style = createPreviewStyle(ScrollPaneStyle.class, styleData);
                    Label label = new Label("", getSkin());
                    widget = new ScrollPane(label, style);
                    ((ScrollPane) widget)
                            .setScrollbarsOnTop((boolean) previewProperties.get("scrollbarsOnTop"));
                    ((ScrollPane) widget).setScrollBarPositions(
                            (boolean) previewProperties.get("hScrollBarPosition"),
                            (boolean) previewProperties.get("vScrollBarPosition"));
                    ((ScrollPane) widget).setScrollingDisabled(
                            (boolean) previewProperties.get("hScrollDisabled"),
                            (boolean) previewProperties.get("vScrollDisabled"));
                    ((ScrollPane) widget).setForceScroll((boolean) previewProperties.get("forceHscroll"),
                            (boolean) previewProperties.get("forceVscroll"));
                    ((ScrollPane) widget)
                            .setVariableSizeKnobs((boolean) previewProperties.get("variableSizeKnobs"));
                    ((ScrollPane) widget).setOverscroll((boolean) previewProperties.get("hOverscroll"),
                            (boolean) previewProperties.get("vOverscroll"));
                    ((ScrollPane) widget).setFadeScrollBars((boolean) previewProperties.get("fadeScroll"));
                    ((ScrollPane) widget).setSmoothScrolling((boolean) previewProperties.get("smoothScroll"));
                    ((ScrollPane) widget).setFlickScroll((boolean) previewProperties.get("flickScroll"));
                    ((ScrollPane) widget).setClamp((boolean) previewProperties.get("clamp"));
                    label.setText((String) previewProperties.get("text"));
                } else if (clazz.equals(SelectBox.class)) {
                    SelectBox.SelectBoxStyle style = createPreviewStyle(SelectBox.SelectBoxStyle.class,
                            styleData);
                    widget = new SelectBox(style);
                    ((SelectBox) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    Array<String> items = new Array<>(((String) previewProperties.get("text")).split("\\n"));
                    ((SelectBox) widget).setItems(items);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Slider.class)) {
                    Slider.SliderStyle style = createPreviewStyle(Slider.SliderStyle.class, styleData);
                    widget = new Slider((float) (double) previewProperties.get("minimum"),
                            (float) (double) previewProperties.get("maximum"),
                            (float) (double) previewProperties.get("increment"),
                            (boolean) previewProperties.get("orientation"), style);
                    ((Slider) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(SplitPane.class)) {
                    SplitPane.SplitPaneStyle style = createPreviewStyle(SplitPane.SplitPaneStyle.class,
                            styleData);
                    Label label1 = new Label("", getSkin());
                    Label label2 = new Label("", getSkin());
                    widget = new SplitPane(label1, label2, (boolean) previewProperties.get("orientation"),
                            style);
                    label1.setText((String) previewProperties.get("text"));
                    label2.setText((String) previewProperties.get("text"));

                    if ((boolean) previewProperties.get("orientation")) {
                        widget.addListener(vSplitPaneDragListener);
                        widget.addListener(vSplitPaneInputListener);
                    } else {
                        widget.addListener(hSplitPaneDragListener);
                        widget.addListener(hSplitPaneInputListener);
                    }
                } else if (clazz.equals(TextButton.class)) {
                    TextButtonStyle style = createPreviewStyle(TextButtonStyle.class, styleData);
                    widget = new TextButton("", style);
                    ((TextButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((TextButton) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(TextField.class)) {
                    TextFieldStyle style = createPreviewStyle(TextFieldStyle.class, styleData);
                    widget = new TextField("", style);
                    ((TextField) widget).setFocusTraversal(false);
                    ((TextField) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((TextField) widget).setPasswordMode((boolean) previewProperties.get("passwordMode"));
                    ((TextField) widget).setAlignment((int) previewProperties.get("alignment"));
                    ((TextField) widget).setText((String) previewProperties.get("text"));
                    ((TextField) widget).setMessageText((String) previewProperties.get("message"));
                    String string = (String) previewProperties.get("password");
                    if (string.length() > 0) {
                        ((TextField) widget).setPasswordCharacter(string.charAt(0));
                    }
                    widget.addListener(main.getIbeamListener());
                } else if (clazz.equals(TextTooltip.class)) {
                    TextTooltip.TextTooltipStyle style = createPreviewStyle(TextTooltip.TextTooltipStyle.class,
                            styleData);

                    TooltipManager manager = new TooltipManager();
                    manager.animations = false;
                    manager.initialTime = 0.0f;
                    manager.resetTime = 0.0f;
                    manager.subsequentTime = 0.0f;
                    manager.hideAll();
                    manager.instant();
                    TextTooltip toolTip = new TextTooltip((String) previewProperties.get("text"), manager,
                            style);

                    widget = new Label("Hover over me", getSkin());
                    widget.addListener(toolTip);
                } else if (clazz.equals(Touchpad.class)) {
                    Touchpad.TouchpadStyle style = createPreviewStyle(Touchpad.TouchpadStyle.class, styleData);
                    widget = new Touchpad(0, style);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Tree.class)) {
                    Tree.TreeStyle style = createPreviewStyle(Tree.TreeStyle.class, styleData);
                    widget = new Tree(style);
                    String[] lines = { "this", "is", "a", "test" };
                    Tree.Node parentNode = null;
                    for (String line : lines) {
                        Label label = new Label(line, getSkin());
                        Tree.Node node = new Tree.Node(label);
                        if (parentNode == null) {
                            ((Tree) widget).add(node);
                        } else {
                            parentNode.add(node);
                        }
                        parentNode = node;
                    }
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Window.class)) {
                    Window.WindowStyle style = createPreviewStyle(Window.WindowStyle.class, styleData);

                    Label sampleText = new Label("", getSkin());
                    sampleText.setText((String) previewProperties.get("text"));

                    widget = new Window((String) previewProperties.get("title"), style);
                    ((Window) widget).add(sampleText);
                }

                if (widget != null) {
                    switch ((int) previewProperties.get("size")) {
                    case (0):
                        previewTable.add(widget).size(10.0f);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (1):
                        previewTable.add(widget);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (2):
                        previewTable.add(widget).size(200.0f);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (3):
                        previewTable.add(widget).growX();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (4):
                        previewTable.add(widget).growY();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (5):
                        previewTable.add(widget).grow();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (6):
                        Actor addWidget = widget;
                        TextField widthField = new TextField("", getSkin());
                        TextField heightField = new TextField("", getSkin());
                        System.out.println("trigger");
                        Dialog dialog = new Dialog("Enter dimensions...", getSkin()) {
                            @Override
                            protected void result(Object object) {
                                if ((boolean) object) {
                                    previewTable.add(addWidget).size(Integer.parseInt(widthField.getText()),
                                            Integer.parseInt(heightField.getText()));
                                    Array<String> items = new Array<>(DEFAULT_SIZES);
                                    items.add(widthField.getText() + "x" + heightField.getText());
                                    previewProperties.put("sizeX", Integer.parseInt(widthField.getText()));
                                    previewProperties.put("sizeY", Integer.parseInt(heightField.getText()));
                                    previewSizeSelectBox.setItems(items);
                                    previewSizeSelectBox.setSelectedIndex(7);
                                } else {
                                    previewSizeSelectBox.setSelectedIndex(1);
                                }
                            }
                        };
                        dialog.getTitleTable().getCells().first().padLeft(5.0f);
                        dialog.text("Enter the preview dimensions: ");
                        dialog.getContentTable().getCells().first().pad(10.0f);
                        dialog.getContentTable().row();
                        Table sizeTable = new Table();
                        sizeTable.add(widthField).padLeft(10.0f);
                        sizeTable.add(new Label(" x ", getSkin()));
                        sizeTable.add(heightField).padRight(10.0f);
                        dialog.getContentTable().add(sizeTable);
                        dialog.getButtonTable().defaults().padBottom(10.0f).minWidth(50.0f);
                        dialog.button("OK", true);
                        dialog.button("Cancel", false);
                        dialog.key(Input.Keys.ESCAPE, false);
                        dialog.key(Input.Keys.ENTER, true);
                        dialog.show(stage);
                        stage.setKeyboardFocus(widthField);
                        break;
                    case (7):
                        previewTable.add(widget).size((int) previewProperties.get("sizeX"),
                                (int) previewProperties.get("sizeY"));
                        break;
                    }
                }
            }
        }
    }
}

From source file:com.stercore.code.net.dermetfan.utils.libgdx.scene2d.ui.ListFileChooser.java

License:Apache License

/** Override this if you want to adjust all the Widgets. Be careful though! */
protected void buildWidgets() {
    addListener(keyControlsListener);//w ww  .j  a v a  2  s . co m

    (pathField = new TextField(directory.path(), style.pathFieldStyle)).setTextFieldListener(pathFieldListener);
    contents = new List<>(style.contentsStyle);
    contents.setItems(directory.name());
    contents.addListener(contentsListener);

    (chooseButton = Scene2DUtils.newButton(style.chooseButtonStyle, "select"))
            .addListener(chooseButtonListener);
    (openButton = Scene2DUtils.newButton(style.openButtonStyle, "open")).addListener(openButtonListener);
    (cancelButton = Scene2DUtils.newButton(style.cancelButtonStyle, "cancel"))
            .addListener(cancelButtonListener);
    (backButton = Scene2DUtils.newButton(style.backButtonStyle, "back")).addListener(backButtonListener);
    (parentButton = Scene2DUtils.newButton(style.parentButtonStyle, "up")).addListener(parentButtonListener);

    contentsPane = style.contentsPaneStyle == null ? new ScrollPane(contents)
            : new ScrollPane(contents, style.contentsPaneStyle);

    setBackground(style.background);
}

From source file:com.wotf.gui.view.SessionLocal.java

/**
 * {@inheritDoc}//w w  w.  java  2s . c  o m
 */
@Override
public void show() {
    stage = new Stage();
    Gdx.input.setInputProcessor(stage);// Make the stage consume events
    //System.out.println(Gdx.files.internal("maps"));
    skin = new Skin(Gdx.files.internal("uiskin.json"));
    teams = new List(skin);

    // Alle teams en labels hiervoor.
    Table teamstable = new Table();
    Table mapstable = new Table();
    Table settingstable = new Table();
    Table teamselecttable = new Table();
    teamstable.setBackground(new NinePatchDrawable(getNinePatch(("GUI/tblbg.png"), 150, 150, 160, 160)));
    mapstable.setBackground(new NinePatchDrawable(getNinePatch(("GUI/tblbg.png"), 220, 220, 160, 160)));
    teamselecttable.setBackground(new NinePatchDrawable(getNinePatch(("GUI/tblbg.png"), 100, 100, 160, 160)));

    Label selectteamlabel = new Label("Team selection", skin);
    teamselecttable.add(selectteamlabel).padBottom(15);
    teamselecttable.row();
    TextButton btnteamalpha = new TextButton("Alpha", skin); // Use the initialized skin
    btnteamalpha.setColor(Color.BLUE);
    btnteamalpha.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Team teamalpha = new Team("Alpha", Color.BLUE);
            teamalpha.setPlayer(defaultPlayer);
            teamalpha.setColorname(teamalpha.getColor().toString());

            int selectedunitcount = Integer.parseInt(unitbox.getSelected().toString());
            addUnitsSingleTeam(selectedunitcount, teamalpha);

            btnteamalpha.setTouchable(Touchable.disabled);
            btnteamalpha.setColor(Color.LIGHT_GRAY);
        }
    });

    teamselecttable.add(btnteamalpha).padBottom(10).width(150).height(50);
    teamselecttable.row();
    TextButton btnteambeta = new TextButton("Beta", skin); // Use the initialized skin
    btnteambeta.setColor(Color.CORAL);
    btnteambeta.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Team teambeta = new Team("Beta", Color.CORAL);
            teambeta.setPlayer(defaultPlayer);
            teambeta.setColorname(teambeta.getColor().toString());

            int selectedunitcount = Integer.parseInt(unitbox.getSelected().toString());
            addUnitsSingleTeam(selectedunitcount, teambeta);

            btnteambeta.setTouchable(Touchable.disabled);
            btnteambeta.setColor(Color.LIGHT_GRAY);
        }
    });
    teamselecttable.add(btnteambeta).padBottom(10).width(150).height(50);
    teamselecttable.row();
    TextButton btnteamgamma = new TextButton("Gamma", skin); // Use the initialized skin
    btnteamgamma.setColor(Color.GREEN);
    btnteamgamma.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Team teamgamma = new Team("Gamma", Color.GREEN);
            teamgamma.setPlayer(defaultPlayer);
            teamgamma.setColorname(teamgamma.getColor().toString());

            int selectedunitcount = Integer.parseInt(unitbox.getSelected().toString());
            addUnitsSingleTeam(selectedunitcount, teamgamma);

            btnteamgamma.setTouchable(Touchable.disabled);
            btnteamgamma.setColor(Color.LIGHT_GRAY);
        }
    });
    teamselecttable.add(btnteamgamma).width(150).height(50);
    teamselecttable.setWidth(200);
    teamselecttable.setHeight(320);
    teamselecttable.setPosition(500, 360);
    stage.addActor(teamselecttable);

    Label wotflabel = new Label("War of the Figures", skin);
    wotflabel.setPosition(Gdx.graphics.getWidth() / 2 - wotflabel.getWidth() / 2, 740);
    stage.addActor(wotflabel);

    Label iplabel = new Label("IP :", skin);
    settingstable.add(iplabel).width(120);
    Label ipvallabel = new Label("127.0.0.1", skin);
    settingstable.add(ipvallabel).width(180);
    settingstable.row();

    Object[] turntimevals = new Object[6];
    turntimevals[0] = "10";
    turntimevals[1] = "20";
    turntimevals[2] = "30";
    turntimevals[3] = "40";
    turntimevals[4] = "50";
    turntimevals[5] = "60";
    Label turntimelabel = new Label("Turn Time :", skin);
    settingstable.add(turntimelabel).width(120);
    SelectBox turntimebox = new SelectBox(skin);
    turntimebox.setItems(turntimevals);
    turntimebox.setSelectedIndex(3);
    turntimebox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            gameSettings.setTurnTime(Integer.parseInt(turntimebox.getSelected().toString()));
        }
    });
    settingstable.add(turntimebox).width(180);
    settingstable.row();

    Object[] physicsvals = new Object[2];
    physicsvals[0] = "True";
    physicsvals[1] = "False";
    Label physicslabel = new Label("Physics :", skin);
    settingstable.add(physicslabel).width(120);
    SelectBox physicsbox = new SelectBox(skin);
    physicsbox.setItems(physicsvals);
    physicsbox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            gameSettings.setPhysics(Boolean.parseBoolean(physicsbox.getSelected().toString()));
        }
    });
    settingstable.add(physicsbox).width(180);
    settingstable.row();

    Object[] weaponsvals = new Object[3];
    weaponsvals[0] = "All Weapons";
    weaponsvals[1] = "Non-Explosive";
    weaponsvals[2] = "Grenades Only";
    Label weaponslabel = new Label("Weapons :", skin);
    settingstable.add(weaponslabel).width(120);
    SelectBox weaponsbox = new SelectBox(skin);
    weaponsbox.setItems(weaponsvals);
    settingstable.add(weaponsbox).width(180);
    settingstable.row();

    Object[] timervals = new Object[3];
    timervals[0] = "60";
    timervals[1] = "30";
    timervals[2] = "10";
    Label timerlabel = new Label("Timer :", skin);
    settingstable.add(timerlabel).width(120);
    SelectBox timerbox = new SelectBox(skin);
    timerbox.setItems(timervals);
    timerbox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            gameSettings.setMaxTime(Integer.parseInt(timerbox.getSelected().toString()));
        }
    });
    settingstable.add(timerbox).width(180);
    settingstable.row();

    Object[] unitvals = new Object[4];
    unitvals[0] = "1";
    unitvals[1] = "2";
    unitvals[2] = "3";
    unitvals[3] = "4";
    Label unitlabel = new Label("Units :", skin);
    settingstable.add(unitlabel).width(120);
    unitbox = new SelectBox(skin);
    unitbox.setItems(unitvals);
    unitbox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            int selectedunitcount = Integer.parseInt(unitbox.getSelected().toString());
            gameSettings.setMaxUnitCount(selectedunitcount);
            refreshUnitsForTeam(selectedunitcount);

        }
    });
    settingstable.add(unitbox).width(180);

    settingstable.setWidth(300);
    settingstable.setHeight(200);
    settingstable.setPosition(30, 110);
    stage.addActor(settingstable);

    ArrayList<String> mapslist = new ArrayList<>();
    FileHandle dirHandle = Gdx.files.internal("maps");
    for (FileHandle entry : dirHandle.list()) {
        mapslist.add(entry.toString());
    }

    map1 = new Image(new Texture(mapslist.get(0)));
    map1.setPosition(20, 70);
    map1.setWidth(400);
    map1.setHeight(230);
    mapstable.addActor(map1);
    SelectBox chooseMap = new SelectBox(skin);
    chooseMap.setItems(mapslist.toArray());
    chooseMap.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            mapstable.removeActor(map1);
            map1 = new Image(new Texture(mapslist.get(chooseMap.getSelectedIndex())));
            map1.setPosition(20, 70);
            map1.setWidth(400);
            map1.setHeight(230);
            map1.invalidate();
            mapstable.addActor(map1);
            // Table image is not updating for some reason. Does it need to be redrawn? Or the Stage?
        }
    });
    chooseMap.setWidth(400);
    chooseMap.setPosition(20, 20);
    mapstable.addActor(chooseMap);
    mapstable.setPosition(30, 360);
    mapstable.setHeight(320);
    mapstable.setWidth(440);
    stage.addActor(mapstable);

    Label teamslabel = new Label("Teams", skin);
    teamstable.setPosition(730, 360);
    teamstable.add(teamslabel);
    teamstable.row();
    teamstable.add(teams).width(200);
    teamstable.setWidth(300);
    teamstable.setHeight(320);
    stage.addActor(teamstable);

    TextButton start = new TextButton("Start", skin); // Use the initialized skin
    start.setColor(Color.BLACK);
    start.setWidth(300);
    start.setHeight(60);
    start.setPosition(590, 180);
    stage.addActor(start);
    start.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (teamList.size() < 2) {
                return;
            }

            // Selected MaxTime to an integer.
            gameSettings.setMaxTime(Integer.parseInt(timerbox.getSelected().toString()));

            // Selected TurnTime to an integer.
            gameSettings.setTurnTime(Integer.parseInt(turntimebox.getSelected().toString()));

            gameSettings.setIsLocal(true);
            // Create the map
            Map map = new Map(chooseMap.getSelected().toString().substring(5));

            try {
                sessionLocal = new Session(defaultPlayer, "localHost", gameSettings);
                sessionLocal.addPlayer(defaultPlayer);
            } catch (RemoteException ex) {
                Gdx.app.log("SessionLocal", ex.getMessage());
            }

            game.setScreen(new GameEngine(game, gameSettings, map, sessionLocal, defaultPlayer));
        }
    });

    TextButton exit = new TextButton("Exit", skin); // Use the initialized skin
    exit.setColor(Color.BLACK);
    exit.setWidth(300);
    exit.setHeight(60);
    exit.setPosition(590, 110);
    stage.addActor(exit);
    exit.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            game.setScreen(new MainMenu(game));
        }
    });

}

From source file:free.hacknet.game.tests.ListTestsScreen.java

License:Open Source License

public ListTestsScreen() {

    FreeTypeFontLoaderParameter size1Params = new FreeTypeFontLoaderParameter();
    size1Params.fontFileName = Assets.FontPath;
    size1Params.fontParameters.size = 30;
    size1Params.fontParameters.magFilter = TextureFilter.Linear;
    size1Params.fontParameters.minFilter = TextureFilter.Linear;
    Assets.manager.load("size10.ttf", BitmapFont.class, size1Params);
    Assets.manager.finishLoading();/*from   w  ww  .ja  va2s  .  c  om*/
    Assets.manager.load(Assets.uiskin, Skin.class);
    Assets.manager.finishLoading();
    skin = new Skin();
    skin.addRegions(new TextureAtlas(Gdx.files.internal("data/uiskin.atlas")));
    skin.add("default-font", Assets.manager.get("size10.ttf", BitmapFont.class), BitmapFont.class);
    skin.load(Gdx.files.internal("data/uiskin.json"));
    stage = new Stage(new ScreenViewport());
    table = new Table();
    Label label = new Label("lol", skin);
    table.add(label).row();
    TextButton button = new TextButton("start test", skin);
    table.setFillParent(true);
    Gdx.input.setInputProcessor(stage);
    final List list = new List(skin);
    table.add(list).expandX().fill().padLeft(20).padRight(20);
    table.add(button).width(100).height(50).row();
    Array<String> items = new Array<String>();
    items.add(test1);
    items.add(test2);
    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Gdx.app.log("ListTestsScreen", "button clicked");
            Gdx.app.log("ListTestsScreen", list.getSelected().toString());
        }

    });
    list.setItems(items);
    stage.addActor(table);
    stage.setDebugAll(true);
}

From source file:mobi.shad.s3lib.gui.GuiResource.java

License:Apache License

/**
 * @param listItem/*w  w w  .j a v  a2s.  c  o  m*/
 * @param name
 * @return
 */
public static List<String> list(String[] listItem, String name) {
    if (S3Constans.INFO) {
        S3Log.log(TAG, "Create List: " + name);
    }
    if (listItem == null) {
        listItem = new String[] { "-= Select =-" };
    }
    List<String> list = new List<String>(S3Skin.skin.get(ListStyle.class));
    list.setItems(listItem);
    list.setName(name);
    return list;
}