List of usage examples for com.badlogic.gdx.scenes.scene2d.ui Dialog hide
public void hide()
From source file:ateamproject.kezuino.com.github.render.screens.LoginScreen.java
public LoginScreen(Game game) { super(game);//from www .ja v a 2 s. c o m 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:ateamproject.kezuino.com.github.render.screens.MainScreen.java
public MainScreen(Game game) { super(game);/*from ww w .j a va2s.c o m*/ TextButton tbSearchGame = new TextButton("Spel zoeken", skin); tbSearchGame.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { game.setScreen(new LobbyListScreen(game, false)); } }); TextButton tbClanGame = new TextButton("Clan spel", skin); tbClanGame.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Client client = Client.getInstance(); PacketGetClans packet = new PacketGetClans(); client.send(packet); ArrayList<String> listclans = packet.getResult(); if (listclans.isEmpty()) { Dialog d = new Dialog("error", skin); d.add("Gebruiker zit niet in een clan."); TextButton bExit = new TextButton("Oke", skin); bExit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { d.hide(); } }); d.add(bExit); d.show(stage); } else { game.setScreen(new LobbyListScreen(game, true)); } } }); TextButton tbHighscores = new TextButton("Highscores", skin); tbHighscores.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { game.setScreen(new HighscoreScreen(game, false)); } }); TextButton tbChangeLook = new TextButton("Uiterlijk aanpassen", skin); tbChangeLook.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { game.setScreen(new SkinSelectScreen(game)); } }); TextButton tbLogout = new TextButton("Uitloggen", skin); tbLogout.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { PacketKick packet = new PacketKick(PacketKick.KickReasonType.QUIT, "Logging out.", null); Client.getInstance().send(packet); game.setScreen(new LoginScreen(game)); } }); TextButton tbClanManagement = new TextButton("Clan management", skin); tbClanManagement.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { game.setScreen(new ClanManagementScreen(game)); } }); tbChangeLook.setSize(300, 40); tbClanGame.setSize(300, 40); tbHighscores.setSize(300, 40); tbLogout.setSize(300, 40); tbSearchGame.setSize(300, 40); tbClanManagement.setSize(300, 40); float xOfSearchGameButton = stage.getWidth() / 2 - tbSearchGame.getWidth() / 2; float yOfSearchGameButton = stage.getHeight() - 50; tbSearchGame.setPosition(xOfSearchGameButton, yOfSearchGameButton); tbClanGame.setPosition(xOfSearchGameButton, yOfSearchGameButton - 50); tbHighscores.setPosition(xOfSearchGameButton, yOfSearchGameButton - 100); tbChangeLook.setPosition(xOfSearchGameButton, yOfSearchGameButton - 150); tbClanManagement.setPosition(xOfSearchGameButton, yOfSearchGameButton - 200); tbLogout.setPosition(xOfSearchGameButton, yOfSearchGameButton - 250); stage.addActor(tbSearchGame); stage.addActor(tbClanGame); stage.addActor(tbHighscores); stage.addActor(tbChangeLook); stage.addActor(tbClanManagement); stage.addActor(tbLogout); backgroundMusic = Assets.getMusicStream("menu.mp3"); }
From source file:ca.hiphiparray.amazingmaze.ContinueScreen.java
License:Open Source License
/** * Displays the high score dialog./*from w ww .ja v a 2 s . c om*/ */ public void highScoreDialog() { Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("High Score", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); Label label = new Label("Enter your name:", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); final TextField nameField = new TextField("", game.assets.skin); dialog.add(label).width(500).pad(50); dialog.add(nameField); dialog.add(okButton).bottom(); nameField.setTextFieldListener(new TextFieldListener() { @Override public void keyTyped(TextField textField, char key) { name = formatString(nameField.getText()); if (!name.equals("")) { if (key == (char) 13) { displayHighScores(name); } } } }); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { name = formatString(nameField.getText()); if (!name.equals("")) { if (okButton.isPressed()) { dialog.hide(); displayHighScores(name); } } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { name = formatString(nameField.getText()); if (!name.equals("")) { if (keycode == Keys.ENTER) { displayHighScores(name); return true; } } return false; } }); dialog.show(stage); }
From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java
License:Open Source License
/** * Constructor for FishMiniGame.//from w w w .ja v a 2 s .c o m * * @param game the {@link AmazingMazeGame} instance that is managing this screen. * @param player the {@link Player} instance that completed the last level. */ public FishMiniGame(final AmazingMazeGame game, Player player) { this.game = game; this.player = player; fishNumber = new int[5]; fishNumber[0] = this.player.blueCollected; fishNumber[1] = this.player.purpleCollected; fishNumber[2] = this.player.greenCollected; fishNumber[3] = this.player.redCollected; fishNumber[4] = this.player.orangeCollected; answer = 0; for (int i = 0; i < fishNumber.length; i++) { answer += fishNumber[i] * fishValue[i]; } stage = new Stage(new ScreenViewport(), this.game.batch); menuTable = new Table(); fishTable = new Table(); canvas = new Canvas( new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight() + shift, Pixmap.Format.RGB565)); menuTable.setFillParent(true); menuTable.top(); fishTable.bottom(); fishTable.setFillParent(true); fishImage = new Image[5]; TextureAtlas atlas = this.game.assets.manager.get(Assets.GAME_ATLAS_LOCATION, TextureAtlas.class); fishImage[0] = new Image(atlas.findRegion(Assets.FISH + Assets.BLUE_MODIFIER)); fishImage[0].setScale(4f); fishImage[1] = new Image(atlas.findRegion(Assets.FISH + Assets.PURPLE_MODIFIER)); fishImage[1].setScale(4f); fishImage[2] = new Image(atlas.findRegion(Assets.FISH + Assets.GREEN_MODIFIER)); fishImage[2].setScale(4f); fishImage[3] = new Image(atlas.findRegion(Assets.FISH + Assets.RED_MODIFIER)); fishImage[3].setScale(4f); fishImage[4] = new Image(atlas.findRegion(Assets.FISH + Assets.ORANGE_MODIFIER)); fishImage[4].setScale(4f); pencilButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.PENCIL_BUTTON, Texture.class)))); pencilButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (pencilButton.isPressed()) { canvas.setColor(drawColor); } } }); eraserButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.ERASER_BUTTON, Texture.class)))); eraserButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (eraserButton.isPressed()) { canvas.setColor(clearColor); } } }); helpButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.HELP_BUTTON, Texture.class)))); helpButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (helpButton.isPressed()) { Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("Help", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); Label label = new Label("Find the total value of fish that you retrieved!\n" + "Each colour corresponds to the colour of Canadian money.\n" + "The numbers correspond to each number of fish you got.\n\n" + "In case you forgot: blue is 5, purple is 10, green is 20, red is 50, and orange is 100.", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.hide(); canvas.setColor(drawColor); } } }); dialog.key(Keys.ENTER, true); dialog.show(stage); } } }); checkButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.CHECK_BUTTON, Texture.class)))); checkButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { dialog(); } }); clearButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.CLEAR_BUTTON, Texture.class)))); clearButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (clearButton.isPressed()) { canvas.clear(); canvas.setColor(drawColor); } } }); answerField = new TextField("", game.assets.skin); answerField.setTextFieldListener(new TextFieldListener() { @Override public void keyTyped(TextField textField, char key) { if (key == (char) 13) { stage.unfocus(answerField); dialog(); } } }); stage.addActor(menuTable); stage.addActor(canvas); stage.addActor(fishTable); menuTable.clear(); fishTable.clear(); helpButton.right(); menuTable.background(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.MINI_BACKGROUND, Texture.class)))); menuTable.add(pencilButton).pad(10).size(64); menuTable.add(eraserButton).pad(10).size(64); menuTable.add(clearButton).pad(10).size(64); menuTable.add(helpButton).pad(10).size(64); menuTable.row(); Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.SANS_REGULAR, Assets.REGULAR_FONT_SIZE), Color.WHITE); for (int i = 0; i < 5; i++) { fishTable.add(fishImage[i]).bottom().left().padLeft(10); } fishTable.add(answerField).minWidth(150).padLeft(150); fishTable.add(checkButton).pad(10).size(64); fishTable.row(); for (int i = 0; i < 5; i++) { fishTable.add(new Label(fishNumber[i] + "", labelStyle)).pad(30).center(); } fishTable.row(); setupPauseMenu(); input = new InputMultiplexer(stage, this); input.addProcessor(pauseMenu); }
From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java
License:Open Source License
/** * Displays the results dialog.//from ww w .j ava 2 s. c o m */ public void dialog() { message = formatString(answerField.getText()); Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("Results", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); if (checkAnswer() == -1) { Label label = new Label("Invalid answer. Please try again.", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.hide(); canvas.setColor(drawColor); } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.ENTER) { dialog.hide(); return true; } return false; } }); } else { Label label = new Label("Your answer was: " + message + ". " + "The correct answer was: " + answer + ". " + "You get " + checkAnswer() + " back!", labelStyle); game.save.addScore(checkAnswer()); game.save.setLives(player.getLives()); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.cancel(); if ((game.save.getLevel() - 1) % 5 == 0) { game.setScreen(new ContinueScreen(game, true)); } else { game.setScreen(new MazeScreen(game, false)); } } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.ENTER) { if ((game.save.getLevel() - 1) % 5 == 0) { game.setScreen(new ContinueScreen(game, true)); } else { game.setScreen(new MazeScreen(game, false)); } return true; } return false; } }); } dialog.show(stage); }
From source file:com.gdx.extension.screen.BaseScreen.java
License:Apache License
/** * Show a modal popup on top of all the screens children * /*from w w w. j a va2 s. c om*/ * @param title the title of the popup * @param message text you want to display in the popup */ public void showPopup(String title, String message) { final Dialog _dialog = new Dialog(title, skin); Label _message = new Label(message, skin); _message.setAlignment(Align.center); TextButton _okButton = new TextButton("Ok", skin); _okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { _dialog.hide(); } }); _dialog.getContentTable().add(_message).minWidth(300f).pad(10f); _dialog.getButtonTable().add(_okButton).minWidth(100f).pad(10f); _dialog.setTitleAlignment(Align.center); _dialog.setMovable(false); _dialog.center(); _dialog.show(stage); }
From source file:com.ray3k.skincomposer.dialog.DialogColors.java
License:Open Source License
private void showColorPicker() { dialogFactory.showDialogColorPicker(new DialogColorPicker.ColorListener() { @Override//from w ww . j a v a 2 s . c o m public void selected(Color color) { if (color != null) { final TextField field = new TextField("RGBA_" + (int) (color.r * 255) + "_" + (int) (color.g * 255) + "_" + (int) (color.b * 255) + "_" + (int) (color.a * 255), skin); final Dialog dialog = new Dialog("Color name...", skin, "bg") { @Override protected void result(Object object) { if ((Boolean) object == true) { newColor(field.getText(), color); } } }; dialog.getTitleTable().padLeft(5.0f); dialog.button("Ok", true).button("Cancel", false).key(Keys.ESCAPE, false); final TextButton button = (TextButton) dialog.getButtonTable().getCells().first().getActor(); button.addListener(main.getHandListener()); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.getButtonTable().pad(15.0f); field.setTextFieldListener(new TextField.TextFieldListener() { @Override public void keyTyped(TextField textField, char c) { if (c == '\n') { if (!button.isDisabled()) { String name = field.getText(); if (newColor(name, color)) { dialog.hide(); } } main.getStage().setKeyboardFocus(textField); } } }); field.addListener(main.getIbeamListener()); dialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f); dialog.text("Please enter a name for the new color: "); dialog.getContentTable().row(); dialog.getContentTable().add(field).growX(); dialog.getContentTable().row(); dialog.text("Preview:"); dialog.getContentTable().row(); Table table = new Table(skin); table.setBackground("white"); table.setColor(color); dialog.getContentTable().add(table).minSize(50.0f); button.setDisabled(!ColorData.validate(field.getText())); field.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { boolean disable = !ColorData.validate(field.getText()); if (!disable) { for (ColorData data : jsonData.getColors()) { if (data.getName().equals(field.getText())) { disable = true; break; } } } button.setDisabled(disable); } }); dialog.show(getStage()); getStage().setKeyboardFocus(field); field.selectAll(); field.setFocusTraversal(false); } } }); }
From source file:com.ray3k.skincomposer.dialog.DialogColors.java
License:Open Source License
private void renameDialog(ColorData color) { TextField textField = new TextField("", skin); TextButton okButton;/*from ww w . ja v a 2s . c o m*/ Dialog dialog = new Dialog("Rename Color?", skin, "bg") { @Override protected void result(Object object) { if ((boolean) object) { renameColor(color, textField.getText()); } } @Override public Dialog show(Stage stage) { Dialog dialog = super.show(stage); main.getStage().setKeyboardFocus(textField); return dialog; } }; dialog.getTitleTable().padLeft(5.0f); float brightness = Utils.brightness(color.color); Color borderColor; if (brightness > .35f) { borderColor = Color.BLACK; } else { borderColor = Color.WHITE; } Table bg = new Table(skin); bg.setBackground("white"); bg.setColor(borderColor); dialog.getContentTable().add(bg); Label label = new Label(color.getName(), skin, "white"); label.setColor(color.color); bg.add(label).pad(10); dialog.getContentTable().row(); label = new Label("What do you want to rename the color to?", skin); dialog.getContentTable().add(label); dialog.getContentTable().row(); textField.setText(color.getName()); textField.selectAll(); textField.addListener(main.getIbeamListener()); dialog.getContentTable().add(textField); dialog.getCell(dialog.getContentTable()).pad(15.0f); dialog.button("OK", true); dialog.button("Cancel", false).key(Keys.ESCAPE, false); okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor(); okButton.setDisabled(true); okButton.addListener(main.getHandListener()); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.getButtonTable().padBottom(15.0f); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { boolean disable = !ColorData.validate(textField.getText()); if (!disable) { for (ColorData data : jsonData.getColors()) { if (data.getName().equals(textField.getText())) { disable = true; break; } } } okButton.setDisabled(disable); } }); textField.setTextFieldListener(new TextField.TextFieldListener() { @Override public void keyTyped(TextField textField, char c) { if (c == '\n') { if (!okButton.isDisabled()) { renameColor(color, textField.getText()); dialog.hide(); } } } }); textField.setFocusTraversal(false); dialog.show(getStage()); }
From source file:com.ray3k.skincomposer.dialog.DialogDrawables.java
License:Open Source License
private void colorSwatchesDialog(DrawableData drawableData) { DialogColors dialog = new DialogColors(getSkin(), "dialog", null, true, dialogFactory, jsonData, projectData, atlasData, main, (ColorData colorData) -> { if (colorData != null) { final DrawableData tintedDrawable = new DrawableData(drawableData.file); tintedDrawable.tintName = colorData.getName(); //Fix background color for new, tinted drawable Color temp = Utils.averageEdgeColor(tintedDrawable.file, colorData.color); if (Utils.brightness(temp) > .5f) { tintedDrawable.bgColor = Color.BLACK; } else { tintedDrawable.bgColor = Color.WHITE; }// w ww . j ava 2 s . c o m final TextField textField = new TextField(drawableData.name, getSkin()); final TextButton button = new TextButton("OK", getSkin()); button.setDisabled(!DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); button.addListener(main.getHandListener()); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { button.setDisabled(!DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); } }); textField.addListener(main.getIbeamListener()); Dialog approveDialog = new Dialog("TintedDrawable...", getSkin(), "bg") { @Override protected void result(Object object) { if (object instanceof Boolean && (boolean) object) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); } } @Override public boolean remove() { gatherDrawables(); produceAtlas(); sortBySelectedMode(); getStage().setScrollFocus(scrollPane); return super.remove(); } }; approveDialog.addCaptureListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode2) { if (keycode2 == Input.Keys.ENTER) { if (!button.isDisabled()) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); approveDialog.hide(); } } return false; } }); approveDialog.getTitleTable().padLeft(5.0f); approveDialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f); approveDialog.getButtonTable().padBottom(15.0f); approveDialog.text("What is the name of the new tinted drawable?"); Drawable drawable = drawablePairs.get(drawableData); Drawable preview = null; if (drawable instanceof SpriteDrawable) { preview = ((SpriteDrawable) drawable).tint(colorData.color); } else if (drawable instanceof NinePatchDrawable) { preview = ((NinePatchDrawable) drawable).tint(colorData.color); } if (preview != null) { approveDialog.getContentTable().row(); Table table = new Table(); table.setBackground(preview); approveDialog.getContentTable().add(table); } approveDialog.getContentTable().row(); approveDialog.getContentTable().add(textField).growX(); approveDialog.button(button, true); approveDialog.button("Cancel", false); approveDialog.getButtonTable().getCells().get(1).getActor() .addListener(main.getHandListener()); approveDialog.key(Input.Keys.ESCAPE, false); approveDialog.show(getStage()); getStage().setKeyboardFocus(textField); textField.selectAll(); textField.setFocusTraversal(false); } }); dialog.setFillParent(true); dialog.show(getStage()); dialog.populate(); }
From source file:com.ray3k.skincomposer.dialog.DialogDrawables.java
License:Open Source License
private void renameDrawableDialog(DrawableData drawable) { TextField textField = new TextField("", getSkin()); Dialog dialog = new Dialog("Rename drawable?", getSkin(), "bg") { @Override//from w ww. j a v a 2 s. co m protected void result(Object object) { super.result(object); if (object instanceof Boolean && (boolean) object == true) { renameDrawable(drawable, textField.getText()); } getStage().setScrollFocus(scrollPane); } @Override public Dialog show(Stage stage) { Dialog dialog = super.show(stage); stage.setKeyboardFocus(textField); return dialog; } }; dialog.getTitleTable().padLeft(5.0f); dialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f); dialog.getButtonTable().padBottom(15.0f); dialog.getContentTable().add(new Label("Please enter a new name for the drawable: ", getSkin())); dialog.button("OK", true); dialog.button("Cancel", false).key(Keys.ESCAPE, false); TextButton okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor(); okButton.setDisabled(true); okButton.addListener(main.getHandListener()); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.getContentTable().row(); textField.setText(drawable.name); textField.selectAll(); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { boolean disable = !DrawableData.validate(textField.getText()); if (!disable) { for (DrawableData data : atlasData.getDrawables()) { if (data.name.equals(textField.getText())) { disable = true; break; } } } okButton.setDisabled(disable); } }); textField.setTextFieldListener(new TextField.TextFieldListener() { @Override public void keyTyped(TextField textField, char c) { if (c == '\n') { if (!okButton.isDisabled()) { renameDrawable(drawable, textField.getText()); dialog.hide(); } } } }); textField.addListener(main.getIbeamListener()); dialog.getContentTable().add(textField); textField.setFocusTraversal(false); dialog.show(getStage()); }