Example usage for com.badlogic.gdx.scenes.scene2d.ui TextButton setText

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

Introduction

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

Prototype

public void setText(String text) 

Source Link

Usage

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

public HighscoreScreen(Game game, boolean top10HighscoreReached) {
    super(game);/*www .  ja  v a 2s. c o  m*/

    TextButton btnBack = new TextButton("Terug", skin);
    btnBack.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (top10HighscoreReached) {
                game.setScreen(new CreditsScreen(game));
            } else {
                game.setScreen(new MainScreen(game));
            }
        }
    });
    float x = 240;
    float y = stage.getHeight() / 4;
    btnBack.setSize(200, 40);
    btnBack.setPosition(stage.getWidth() / 2 - btnBack.getWidth() / 2,
            stage.getHeight() / 4 - btnBack.getHeight() / 2);

    Label lblTitle = new Label("Highscore", skin);
    if (top10HighscoreReached) {
        lblTitle = new Label("Gefeliciteerd met een top 10 plek!", skin);
        btnBack.setText("Haal mijn prijs op");
    }
    lblTitle.setColor(Color.YELLOW);
    lblTitle.setPosition(stage.getWidth() / 2 - lblTitle.getWidth() / 2, stage.getHeight() - 50);

    PacketGetHighscores packet = new PacketGetHighscores(Client.getInstance().getId());
    Client.getInstance().send(packet);

    Table table = new Table();
    table.setSkin(skin);

    int rankNr = 0;

    for (Map.Entry<String, Integer> entry : packet.getResult().entrySet()) {
        rankNr++;
        table.add(new Label(Integer.toString(rankNr), skin)).padRight(50);
        table.add(new Label(entry.getKey(), skin)).padRight(50);
        table.add(new Label(Integer.toString(entry.getValue()), skin));
        table.row();
    }

    table.setPosition(stage.getWidth() / 2 - table.getWidth() / 2, stage.getHeight() - 190);

    stage.addActor(btnBack);
    stage.addActor(lblTitle);
    stage.addActor(table);

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

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

public LoginScreen(Game game) {
    super(game);//from w w w . ja va 2 s.c  om

    TextField txtUsername = new TextField("pactales1@gmail.com", skin);

    TextField txtPassword = new TextField("pactales!", skin);
    txtPassword.setPasswordCharacter('*');
    txtPassword.setPasswordMode(true);

    TextButton btnLogin = new TextButton("Inloggen", skin);

    btnLogin.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            btnLogin.setTouchable(Touchable.disabled);
            btnLogin.setText("Laden");
            Thread loginThread = new Thread(() -> {
                PacketLoginAuthenticate packet = new PacketLoginAuthenticate(txtUsername.getText(),
                        txtPassword.getText(), null);
                Client.getInstance().send(packet);

                Gdx.app.postRunnable(() -> {
                    // Login was successful..
                    if (Client.getInstance().getId() != null) {
                        PacketLoginUserExists packetUserExists = new PacketLoginUserExists(
                                txtUsername.getText(), null);
                        Client.getInstance().send(packetUserExists);

                        // Handle user doesn't exist.
                        if (!packetUserExists.getResult()) {
                            Dialog d = new Dialog("Geen gebruiker gevonden", skin);
                            d.add("Gebruikersnaam:");
                            TextField f = new TextField("", skin);
                            d.add(f);
                            bExit = new TextButton("Oke", skin);
                            bExit.addListener(new ClickListener() {
                                @Override
                                public void clicked(InputEvent event, float x, float y) {
                                    if (!f.getText().isEmpty()) {
                                        PacketLoginCreateNewUser packet1;
                                        packet1 = new PacketLoginCreateNewUser(f.getText(),
                                                txtUsername.getText());
                                        Client.getInstance().send(packet1);
                                        if (!packet1.getResult()) {
                                            new Dialog("Error", skin) {
                                                {
                                                    text("De naam bestaat al.");
                                                    button("Oke");
                                                }
                                            }.show(stage);
                                        } else {
                                            d.hide();
                                            Client.getInstance().setUsername(f.getText());
                                            game.setScreen(new MainScreen(game));
                                        }
                                    }
                                }
                            });
                            d.add(bExit);
                            d.show(stage);
                        } else {
                            game.setScreen(new MainScreen(game));
                        }
                    } else {
                        new Dialog("Error", skin) {
                            {
                                text(packet.getResult().getMessage());
                                button("Oke");
                            }
                        }.show(stage);
                    }
                    btnLogin.setText("Inloggen");
                    btnLogin.setTouchable(Touchable.enabled);//enable button touch
                });
            });
            loginThread.start();
        }
    });

    txtUsername.setSize(300, 40);
    txtPassword.setSize(300, 40);
    txtPassword.setPasswordMode(true);
    btnLogin.setSize(300, 40);

    btnLogin.setPosition(stage.getWidth() / 2 - btnLogin.getWidth() / 2, 150);
    txtUsername.setPosition(stage.getWidth() / 2 - txtUsername.getWidth() / 2, 300);
    txtPassword.setPosition(stage.getWidth() / 2 - txtPassword.getWidth() / 2, 250);

    stage.addActor(btnLogin);
    stage.addActor(txtUsername);
    stage.addActor(txtPassword);

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

From source file:com.mygdx.game.Splash.java

public void create() {
    batch = new SpriteBatch();
    stage = new Stage();
    Gdx.input.setInputProcessor(stage);//  w  ww. j  a va2 s .co m
    skin = new Skin();
    Pixmap pixmap = new Pixmap(100, 100, Format.RGBA8888);
    pixmap.setColor(Color.GREEN);
    pixmap.fill();
    skin.add("white", new Texture(pixmap));
    BitmapFont bfont = new BitmapFont();
    //bfont.scale(1); 
    skin.add("default", bfont);
    TextButtonStyle textButtonStyle = new TextButtonStyle();
    textButtonStyle.up = skin.newDrawable("white", Color.DARK_GRAY);
    textButtonStyle.down = skin.newDrawable("white", Color.DARK_GRAY);
    textButtonStyle.checked = skin.newDrawable("white", Color.BLUE);
    textButtonStyle.over = skin.newDrawable("white", Color.LIGHT_GRAY);

    textButtonStyle.font = skin.getFont("default");

    skin.add("default", textButtonStyle);
    final TextButton textButton = new TextButton("PLAY", textButtonStyle);
    textButton.setPosition(200, 200);
    stage.addActor(textButton);
    stage.addActor(textButton);
    stage.addActor(textButton);
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            //System.out.println("Clicked! Is checked: " + button.isChecked());
            textButton.setText("Starting new game");
            //g.setScreen( new GameWorking());

        }
    });
}

From source file:com.tumblr.oddlydrawn.nahlc.screens.GameOverScreen.java

License:Apache License

public GameOverScreen(Game g, int level, int score) {
    game = g;/* w w w.j  a  v a  2s.co m*/
    savedStuff = new SavedStuff();
    assets = new Assets();
    assets.initGameOver();
    stage = new Stage(new StretchViewport(Renderer.WIDTH, Renderer.HEIGHT));
    skin = new Skin();

    savedStuff.loadScores();
    savedStuff.setScore(score);

    skin.add("default", new BitmapFont(Gdx.files.internal("data/fonts/deja.fnt")));

    LabelStyle labelStyle = new LabelStyle();
    labelStyle.font = skin.getFont("default");
    skin.add("default", labelStyle);

    ButtonStyle buttonStyle = new ButtonStyle();
    skin.add("default", buttonStyle);

    TextButtonStyle textButtonStyle = new TextButtonStyle();
    textButtonStyle.font = skin.getFont("default");
    skin.add("default", textButtonStyle);

    // Background NinePatch image
    Image boxPatchImage = new Image(assets.getBoxPatch());
    boxPatchImage.setSize(Renderer.WIDTH - 40, Renderer.HEIGHT - 5);
    boxPatchImage.setPosition(20, 2);
    stage.addActor(boxPatchImage);

    // Top Score's background NinePatch image
    Image boxPatchImageTwo = new Image(assets.getBoxPatch());
    boxPatchImageTwo.setSize(220, 295);
    boxPatchImageTwo.setPosition(50, 90);
    stage.addActor(boxPatchImageTwo);

    // Single-column table that holds all the things.
    rootTable = new Table();
    rootTable.setFillParent(true);
    stage.addActor(rootTable);
    rootTable.debug();

    // Three-column table that holds the top scores.
    topScoreTable = new Table();
    topScoreTable.debug();
    topScoreTable.columnDefaults(0).width(73);
    topScoreTable.columnDefaults(1).width(50);
    topScoreTable.columnDefaults(1).align(Align.center);

    Label scoreLabel = new Label("Score: " + score, skin);
    Label topScoresLabel = new Label("Top Scores", skin);

    Image mainMenuImage = new Image(assets.getMainMenuSprite());
    Image newGameImage = new Image(assets.getNewGameSprite());

    Button mainMenuButton = new Button(skin);
    mainMenuButton.add(mainMenuImage);

    Button newGameButton = new Button(skin);
    newGameButton.add(newGameImage);

    Image newRecordImage = new Image(assets.getNewRecordSprite());
    Image gameOverImage = new Image(assets.getGameOverSprite());

    Image titleImage;
    if (savedStuff.isPreviousScoreInTopScore()) {
        titleImage = newRecordImage;
    } else {
        titleImage = gameOverImage;
    }

    Label[][] allTheScores = new Label[3][11];

    // Creates the labels for all the scores, populates them, and adds animations.
    for (int y = 0; y < 10; y++) {
        for (int x = 0; x < 3; x++) {
            switch (x) {
            case 0: // The labels from 1 - 10, left most to show score rank.
                if (y == 9) {
                    allTheScores[x][y] = new Label(String.valueOf(y + 1) + ".", skin);
                } else {
                    // Adds a space, for correct padding to numbers 1-9 (or the array indexes 0-8)
                    allTheScores[x][y] = new Label(" " + String.valueOf(y + 1) + ".", skin);
                }
                topScoreTable.add(allTheScores[x][y]);
                break;
            case 1: // The labels with the Level associated with each score
                allTheScores[x][y] = new Label(savedStuff.getLevel(y, x - 1), skin);
                topScoreTable.add(allTheScores[x][y]);

                if (savedStuff.isPreviousScoreInTopScore()) {
                    // Adds the drop animation to scores below the score to replace
                    if (y >= savedStuff.getScoreToReplace()) {
                        allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                                Actions.moveBy(0, -26, 2, Interpolation.bounceOut)));
                    }
                }
                break;
            case 2: // The labels with the Score associated with each rank and level
                allTheScores[x][y] = new Label(savedStuff.getScore(y, x - 1), skin);
                topScoreTable.add(allTheScores[x][y]).right();

                if (savedStuff.isPreviousScoreInTopScore()) {
                    // Adds the drop animation to scores below the score to replace
                    if (y >= savedStuff.getScoreToReplace()) {
                        allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                                Actions.moveBy(0, -26, 2, Interpolation.bounceOut)));
                    }
                }
                break;
            default:
                break;
            }
        }
        topScoreTable.row();
    }

    rootTable.add(titleImage);
    rootTable.row();

    rootTable.add(scoreLabel).expand();
    rootTable.row();

    rootTable.add(topScoresLabel);
    rootTable.row();
    topScoreTable.setWidth(rootTable.getWidth());
    topScoreTable.setTransform(true);
    rootTable.setTransform(true);
    rootTable.add(topScoreTable);
    rootTable.row();

    rootTable.add(newGameButton).expand().bottom();
    rootTable.row();
    rootTable.add(mainMenuButton).expand();

    rootTable.padLeft(35f);
    rootTable.padRight(35f);
    rootTable.padTop(9f);
    rootTable.padBottom(9f);

    newGameButton.toBack();
    mainMenuButton.toBack();

    // Adds padding to Level and 10th rank strings for correct padding
    String levelButtonString;
    int mew = Integer.valueOf(String.valueOf(allTheScores[1][9].getText()));
    if (mew < 10) {
        levelButtonString = String.valueOf(allTheScores[1][9].getText()) + " ";
    } else {
        levelButtonString = String.valueOf(allTheScores[1][9].getText());
    }
    String previousLevelButtonString;
    if (level < 10) {
        previousLevelButtonString = String.valueOf(level + " ");
    } else {
        previousLevelButtonString = String.valueOf(level);
    }
    String previousScoreString = String.valueOf(score);

    TextButton previousLevelButton = new TextButton(previousLevelButtonString, skin);
    TextButton previousScoreButton = new TextButton(previousScoreString, skin);
    TextButton tenthLevelButton = new TextButton(levelButtonString, skin);
    TextButton tenthScoreButton = new TextButton(String.valueOf(allTheScores[2][9].getText()), skin);

    // Pads Button text with spaces for correct alignment
    tenthLevelButton.setText(fillStringWithSpaces(String.valueOf(tenthLevelButton.getText())));
    previousLevelButton.setText(fillStringWithSpaces(previousLevelButtonString));
    stage.addActor(tenthLevelButton);
    stage.addActor(tenthScoreButton);

    // Groups to link the scores and levels for 10th-rank scores and the score just obtained
    // Needed to apply transforms to buttons since transforming text isn't possible, I think.
    Group group = new Group();
    group.addActor(tenthScoreButton);
    group.addActor(tenthLevelButton);

    Group groupPrevious = new Group();
    groupPrevious.addActor(previousLevelButton);
    groupPrevious.addActor(previousScoreButton);

    // Modifies score buttons positions for correct alignment with the rest of the table
    tenthScoreButton.setPosition(144 - subPosFromLength(tenthScoreButton.getText().length()), 00);
    previousScoreButton.setPosition(144 - subPosFromLength(previousScoreString.length()), 00);
    tenthScoreButton.align(Align.left);
    previousScoreButton.align(Align.left);

    tenthLevelButton.setTransform(true);
    tenthScoreButton.setTransform(true);

    stage.addActor(group);
    group.setPosition(105, 97);

    allTheScores[1][9].setVisible(false);
    allTheScores[2][9].setVisible(false);

    group.setTransform(true);

    // Adds animation for drop and bounce then rotate and drop to 10th rank score
    if (savedStuff.isPreviousScoreInTopScore()) {
        group.setOrigin(group.getX() + group.getWidth() + 50, 10);
        group.addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                Actions.moveBy(0, -26, 2, Interpolation.bounceOut), Actions.delay(0.1f),
                Actions.rotateBy(90f, 2f, Interpolation.bounceOut), Actions.delay(0.1f),
                Actions.moveBy(0, -120, 2, Interpolation.bounceOut)));
    }

    // Adds spaces to first score in top score table to have the same column width regardless of score size
    allTheScores[2][0].setText(fillCSWithSpaces(allTheScores[2][0].getText()));

    mainMenuButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            dispose();
            game.setScreen(new MainMenuScreen(game));
        }
    });

    newGameButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            dispose();
            game.setScreen(new GameScreen(game));
        }
    });

    // Sets correct vertical position for score just obtained
    groupPrevious.setPosition(group.getX(), group.getY() + getVerticalPosSub(savedStuff.getScoreToReplace()));
    groupPrevious.setTransform(true);

    // Score is now in position, this makes it invisible
    groupPrevious.addAction(Actions.fadeOut(0.1f));

    // Fades the score in after the bottom-most score rotates and drops
    if (savedStuff.isPreviousScoreInTopScore()) {
        groupPrevious.addAction(Actions.sequence(Actions.delay(7.5f), Actions.fadeIn(1f)));
    }
    stage.addActor(groupPrevious);

    savedStuff.setSavedGameExists(false);
    savedStuff.savePreferences();

    savedStuff.updateLevelAndScore(level, score);
    try {
        savedStuff.saveScoresToFile();
    } catch (RuntimeException ex) {
        Gdx.app.log("ERROR NAHLC", ex.getMessage());
        ex.printStackTrace();
    } catch (Exception e) {
        Gdx.app.log("ERROR NAHLC", e.getMessage());
        e.printStackTrace();
    }
    Gdx.app.log("NAHLC", "leaving create()");
}

From source file:net.noviden.towerdefense.Screens.GameSettingsScreen.java

License:Open Source License

public GameSettingsScreen(final TowerDefense pTowerDefense) {
    _towerDefense = pTowerDefense;//www. ja va2s  .  c  om

    _modifiedKeyboardShortcutsMap = new HashMap<Integer, GameSettings.Actions>();

    _currentlySelectedActionLabel = null;
    _currentlySelectedShortcut = null;
    _previouslySelectedKey = -1;

    Skin skin = new Skin(Gdx.files.internal("assets/uiskin.json"));

    _mainStage = new Stage();

    Table rootTable = new Table();
    rootTable.setFillParent(true);

    _mainStage.addActor(rootTable);

    // set up ui elements
    Label musicVolumeLabel = new Label("Music Volume", skin);
    final Slider musicVolumeSlider = new Slider(0.0f, 1.0f, 0.1f, false, skin);
    musicVolumeSlider.setValue(GameSettings.getMusicVolume());

    Label sfxVolumeLabel = new Label("Sound Effects Volume", skin);
    final Slider sfxVolumeSlider = new Slider(0.0f, 1.0f, 0.1f, false, skin);
    sfxVolumeSlider.setValue(GameSettings.getSoundVolume());

    Table volumeTable = new Table();
    volumeTable.add(musicVolumeLabel);
    volumeTable.add(musicVolumeSlider);
    volumeTable.row();
    volumeTable.add(sfxVolumeLabel);
    volumeTable.add(sfxVolumeSlider).pad(8.0f);

    Table keyboardShortcutsTable = new Table();

    HashMap<Integer, GameSettings.Actions> currentShortcutMap = GameSettings.getShortcutMap();

    // for sorting the settings on screen
    Collection<GameSettings.Actions> values = currentShortcutMap.values();
    ArrayList<String> valueNames = new ArrayList<String>();
    for (GameSettings.Actions action : values) {
        valueNames.add(action.toString());
    }

    Collections.sort(valueNames);

    for (String s : valueNames) {
        final Label actionLabel = new Label(s, skin);
        final TextButton shortcutButton = new TextButton(
                Input.Keys.toString(GameSettings.getReverse(GameSettings.Actions.valueOf(s))), skin);

        keyboardShortcutsTable.add(actionLabel).pad(10.0f);
        keyboardShortcutsTable.add(shortcutButton);
        keyboardShortcutsTable.row();

        shortcutButton.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {

                if (_currentlySelectedShortcut == null) {
                    _currentlySelectedActionLabel = actionLabel;
                    _currentlySelectedShortcut = shortcutButton;
                    _previouslySelectedKey = Input.Keys.valueOf(shortcutButton.getText().toString());

                    shortcutButton.setText("Press any un-set key!");
                }
            }
        });
    }

    ScrollPane keyboardShortcutsScrollPane = new ScrollPane(keyboardShortcutsTable);
    keyboardShortcutsScrollPane.layout();

    // add in save and exit buttons
    Table exitFunctionalityTable = new Table();

    TextButton saveAndExitButton = new TextButton("Save and Exit", skin);
    TextButton exitWithoutSavingButton = new TextButton("Exit Without Saving", skin);

    exitFunctionalityTable.add(saveAndExitButton).pad(10.0f);
    exitFunctionalityTable.add(exitWithoutSavingButton);

    // finally, construct display table
    rootTable.add(volumeTable);
    rootTable.row();
    rootTable.add(keyboardShortcutsScrollPane);
    rootTable.row();
    rootTable.add(exitFunctionalityTable);

    InputMultiplexer multiplexer = new InputMultiplexer(_mainStage, new MyInputProcessor());

    Gdx.input.setInputProcessor(multiplexer);

    // add in event listeners here

    exitWithoutSavingButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            _towerDefense.setScreen(new net.noviden.towerdefense.Screens.MainMenuScreen(_towerDefense));
        }
    });

    saveAndExitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // attempt to save settings

            GameSettings.setMusicVolume(musicVolumeSlider.getPercent());

            GameSettings.setSoundVolume(sfxVolumeSlider.getPercent());

            // save keyboard shortcuts
            GameSettings.putShortcuts(_modifiedKeyboardShortcutsMap);

            // return to main menu
            _towerDefense.setScreen(new net.noviden.towerdefense.Screens.MainMenuScreen(_towerDefense));

            dispose();
        }
    });
}

From source file:org.ams.testapps.paintandphysics.cardhouse.CardHouseWithGUI.java

License:Open Source License

/**
 * Creates one angle-button for each cheat color. These can be clicked
 * to release the card with the same color as the text of the button.
 * Also creates a {@link Runnable} that keeps the buttons updated.
 *///from w  w  w. ja v a  2 s .c  om
private Table createAngleButtons() {
    final Table table = new Table();

    // create buttons
    float width = new TextButton("360.0", skin).getPrefWidth();
    final TextButton[] textButtons = new TextButton[cardHouseDef.cheatColors.length];
    for (int i = 0; i < textButtons.length; i++) {
        final TextButton textButton = createAngleButton();
        textButton.setVisible(false);
        table.add(textButton).width(width).pad(SceneUtil.getPreferredPadding(stage)).row();
        textButtons[i] = textButton;
    }

    // prepare updates
    timer.remove(angleUpdater);
    angleUpdater = new Runnable() {

        @Override
        public void run() {

            if (renderCount % 5 != 0)
                return;

            Array<PPPolygon> coloredCards = cardHouse.getColoredCards();

            int i = 0;
            for (TextButton textButton : textButtons) {

                // is there a colored card for this button?
                boolean gotCard = coloredCards.size > i;

                if (gotCard != textButton.isVisible())
                    textButton.setVisible(gotCard);

                if (gotCard) {
                    PPPolygon card = coloredCards.get(i);

                    // compute an intuitive angle
                    float angleRad = card.getPhysicsThing().getBody().getAngle();
                    float angleDeg = angleRad * MathUtils.radiansToDegrees;
                    angleDeg = Math.abs(angleDeg);
                    angleDeg %= 180;
                    if (angleDeg > 90)
                        angleDeg = 180 - angleDeg;
                    angleDeg = Util.roundToNearestN(angleDeg, 0.1f);

                    // convert to text and update button
                    String decimals = Util.getDecimals(angleDeg, 1);
                    int noDecimals = (int) angleDeg;
                    String angleText = noDecimals + "." + decimals;
                    textButton.setText(angleText);

                    // update the angleText for the angleLabel
                    Color color = card.getOutlinePolygons().first().getColor();

                    if (color == cardHouseDef.cheatColors[0])
                        CardHouseWithGUI.this.angleText = angleText;

                    textButton.getLabel().setColor(color);

                }
                i++;
            }
        }
    };
    timer.runOnRender(angleUpdater);

    return table;
}

From source file:scenes.GameCreate.java

@Override
public void create() {
    playerLimitIndex = 0;//w ww .  j  ava2  s .co  m
    shapeRenderer = new ShapeRenderer();
    shapeRenderer.setAutoShapeType(true);

    batch = new SpriteBatch();
    availableMaps = GameMaps.getMaps();
    availableGameModeMap = GameMapsDomination.getMaps();
    availableGamemodes = new GameMode[] { new NormalMatch("Normal Game"), new TutorialMatch("Tutorial"),
            new DominationMatch("Domination") };
    stage = new Stage();

    Gdx.input.setInputProcessor(stage);

    atlas = new TextureAtlas("ui/buttonPack.pack");
    skin = new Skin(atlas);

    table = new Table(skin);
    table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    //initialize fonts
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MunroSmall.ttf"));
    FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
    parameter.size = 60;
    font60 = generator.generateFont(parameter); // font size 12 pixels
    font60.setColor(Color.BLACK);
    parameter.size = 40;
    font30 = generator.generateFont(parameter); // font size 12 pixels
    font30.setColor(0.5f, 0.5f, 0.5f, 255);
    generator.dispose(); // don't forget to dispose to avoid memory leaks!

    final TextButtonStyle textButtonStyle = new TextButtonStyle();
    textButtonStyle.downFontColor = new Color(0f, 0.57f, 0.92f, 1f);
    textButtonStyle.overFontColor = new Color(0f, 0.57f, 1f, 1f);
    textButtonStyle.font = font30;
    textButtonStyle.fontColor = Color.BLACK;

    buttonPlay = new TextButton("Start Game", textButtonStyle);
    buttonPlay.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if ("Domination".equals(availableGamemodes[selectedGameMode].getName())) {
                Config.page = new SearchGame(availableGameModeMap[selectedMap].getName(),
                        availableGamemodes[selectedGameMode].getName(), playerLimit[playerLimitIndex]);
            } else {
                Config.page = new SearchGame(availableMaps[selectedMap].getName(),
                        availableGamemodes[selectedGameMode].getName(), playerLimit[playerLimitIndex]);

            }
        }

    });

    buttonExit = new TextButton("Back", textButtonStyle);
    buttonExit.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Config.page = new MainMenu();
        }

    });
    buttonExit.pad(20);

    LabelStyle headingStyle = new LabelStyle(font60, Color.BLACK);

    final TextButton toggleGameMode = new TextButton(
            "GameMode: " + availableGamemodes[selectedGameMode].getName(), textButtonStyle);
    toggleGameMode.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            selectedGameMode++;
            if (selectedGameMode >= availableGamemodes.length) {
                selectedGameMode = 0;
            }

            toggleGameMode.setText("GameMode: " + availableGamemodes[selectedGameMode].getName());
        }
    });

    final TextButton toggleLevel = new TextButton("Map: " + availableMaps[selectedMap].getName(),
            textButtonStyle);
    toggleLevel.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            selectedMap++;
            if (selectedMap >= availableMaps.length) {
                selectedMap = 0;
            }

            toggleLevel.setText("Map: " + availableMaps[selectedMap].getName());
        }
    });

    final TextButton togglePlayeLimit = new TextButton("players: " + playerLimit[playerLimitIndex],
            textButtonStyle);
    togglePlayeLimit.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            playerLimitIndex++;
            if (playerLimitIndex >= playerLimit.length) {
                playerLimitIndex = 0;
            }

            togglePlayeLimit.setText("players: " + playerLimit[playerLimitIndex]);
        }
    });
    heading = new Label("Game modes", headingStyle);

    table.add(heading);
    table.row();
    table.padBottom(100);
    table.add(toggleGameMode);
    table.row();
    table.padBottom(50);
    table.add(toggleLevel);
    table.row();
    table.padBottom(50);
    table.add(togglePlayeLimit);
    table.row();
    table.padBottom(50);
    table.add(buttonPlay);
    table.row();
    table.padBottom(50);
    table.add(buttonExit);
    //table.debug();
    stage.addActor(table);
    //xOffset = (Gdx.graphics.getWidth() / 100 * 65);
    xOffset = (int) table.getX() + (int) toggleLevel.getRight() + (Gdx.graphics.getWidth() / 2);
    yOffset = Gdx.graphics.getHeight() / 2 - (availableMaps[selectedMap].getHeight() / 5);

}

From source file:scenes.GameModeSelect.java

@Override
public void create() {
    playerLimitIndex = 0;/*ww  w.j a v a  2 s. c o m*/
    shapeRenderer = new ShapeRenderer();
    shapeRenderer.setAutoShapeType(true);

    batch = new SpriteBatch();
    availableMaps = GameMaps.getMaps();
    stage = new Stage();

    Gdx.input.setInputProcessor(stage);

    atlas = new TextureAtlas("ui/buttonPack.pack");
    skin = new Skin(atlas);

    table = new Table(skin);
    table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    //initialize fonts
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MunroSmall.ttf"));
    FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
    parameter.size = 60;
    font60 = generator.generateFont(parameter); // font size 12 pixels
    font60.setColor(Color.BLACK);
    parameter.size = 40;
    font30 = generator.generateFont(parameter); // font size 12 pixels
    font30.setColor(0.5f, 0.5f, 0.5f, 255);
    generator.dispose(); // don't forget to dispose to avoid memory leaks!

    final TextButtonStyle textButtonStyle = new TextButtonStyle();
    textButtonStyle.downFontColor = new Color(0f, 0.57f, 0.92f, 1f);
    textButtonStyle.overFontColor = new Color(0f, 0.57f, 1f, 1f);
    textButtonStyle.font = font30;
    textButtonStyle.fontColor = Color.BLACK;

    buttonTut = new TextButton("Tutorial", textButtonStyle);
    buttonTut.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Config.page = new SearchGame(availableMaps[selectedMap].getName(), "Tutorial",
                    playerLimit[playerLimitIndex]);
        }

    });

    buttonTut.pad(20);

    buttonPlay = new TextButton("Normal Game", textButtonStyle);
    buttonPlay.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Config.page = new SearchGame(availableMaps[selectedMap].getName(), "Normal Game",
                    playerLimit[playerLimitIndex]);
        }

    });

    buttonPlay.pad(20);

    buttonExit = new TextButton("Back", textButtonStyle);
    buttonExit.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Config.page = new MainMenu();
        }

    });
    buttonExit.pad(20);

    LabelStyle headingStyle = new LabelStyle(font60, Color.BLACK);

    final TextButton toggleLevel = new TextButton("Map: " + availableMaps[selectedMap].getName(),
            textButtonStyle);
    toggleLevel.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            selectedMap++;
            if (selectedMap >= availableMaps.length)
                selectedMap = 0;

            toggleLevel.setText("Map: " + availableMaps[selectedMap].getName());
        }
    });

    final TextButton togglePlayeLimit = new TextButton("players: " + playerLimit[playerLimitIndex],
            textButtonStyle);
    togglePlayeLimit.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            playerLimitIndex++;
            if (playerLimitIndex >= playerLimit.length)
                playerLimitIndex = 0;

            togglePlayeLimit.setText("players: " + playerLimit[playerLimitIndex]);
        }
    });
    heading = new Label("Game modes", headingStyle);

    table.add(heading);
    table.row();
    table.padBottom(50);
    table.add(buttonTut);
    table.row();
    table.padBottom(50);
    table.add(buttonPlay);
    table.row();
    table.padBottom(50);
    table.add(toggleLevel);
    table.row();
    table.padBottom(50);
    table.add(togglePlayeLimit);
    table.row();
    table.padBottom(50);
    table.add(buttonExit);
    //table.debug();
    stage.addActor(table);
    //xOffset = (Gdx.graphics.getWidth() / 100 * 65);
    xOffset = (int) table.getX() + (int) toggleLevel.getRight() + (Gdx.graphics.getWidth() / 2);
    yOffset = Gdx.graphics.getHeight() / 2 - (availableMaps[selectedMap].getHeight() / 5);

}