List of usage examples for com.badlogic.gdx.scenes.scene2d.ui ScrollPane ScrollPane
public ScrollPane(Actor widget, ScrollPaneStyle style)
From source file:org.shadebob.skineditor.dialog.DrawablePickerDialog.java
License:Apache License
public DrawablePickerDialog(final SkinEditorGame game, final Field field) { super("Drawable Picker", game.skin); this.game = game; this.field = field; getContentTable().add(scrollPane = new ScrollPane(tableDrawables = new Table(game.skin), game.skin) { {/* w ww . j ava 2 s .c om*/ setFlickScroll(false); setFadeScrollBars(false); setScrollbarsOnTop(true); tableDrawables.defaults().space(10); tableDrawables.padTop(10); tableDrawables.padBottom(10); } }).width(1000).height(550).pad(20); getButtonTable().add(new TextButton("Import Image", game.skin)).getActor() .addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { SwingUtils.forceFocus(); JFileChooser chooser = new JFileChooser(); chooser.setFileFilter(new FileNameExtensionFilter("Images", "png")); if (chooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) { return; } File selectedFile = chooser.getSelectedFile(); if (selectedFile == null) { return; } while (true) { String fileName = selectedFile.getName(); String fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 1); fileName = fileName.substring(0, fileName.lastIndexOf(".")); // ?? fileName = fileName.toLowerCase(); // ?? fileName = JOptionPane.showInputDialog("Please choose the name of your resource", fileName); if (fileName == null) { return; } // Check for duplicate resources FileHandle[] assetsFolder = new FileHandle( "projects/" + game.screenMain.getcurrentProject() + "/assets/").list(); boolean foundSomething = false; for (FileHandle file : assetsFolder) { if (file.nameWithoutExtension().toLowerCase().equals(fileName)) { foundSomething = true; break; } } if (foundSomething) { JOptionPane.showMessageDialog(null, "Sorry but this resource name is already in use!"); } else { // ? FileHandle orig = new FileHandle(selectedFile); FileHandle dest = new FileHandle("projects/" + game.screenMain.getcurrentProject() + "/assets/" + fileName + "." + fileSuffix); orig.copyTo(dest); game.screenMain.refreshResources(); updateResourceData(); JOptionPane.showMessageDialog(null, "File successfully added to your project."); return; } } } }); ; getButtonTable().add(new TextButton("Toggle Zoom", game.skin)).getActor().addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { zoom = !zoom; updateTableActor(); } }); ; if (field != null) { getButtonTable().add(new TextButton("Empty Drawable", game.skin)).getActor() .addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyleObj, null); } catch (Exception e) { e.printStackTrace(); } game.screenMain.changeSkin(); hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); } }); ; } getButtonTable().padBottom(15); button("Cancel", false).key(Keys.ESCAPE, false); }
From source file:org.shadebob.skineditor.dialog.FontPickerDialog.java
License:Apache License
public FontPickerDialog(final SkinEditorGame game, Field field) { super("Bitmap Font Picker", game.skin); this.game = game; this.field = field; tableFonts = new Table(game.skin); tableFonts.left().top().pad(5);/*from ww w . ja v a2 s. co m*/ tableFonts.defaults().pad(5); updateTable(); ScrollPane scrollPane = new ScrollPane(tableFonts, game.skin); scrollPane.setFlickScroll(false); scrollPane.setFadeScrollBars(false); scrollPane.setScrollbarsOnTop(true); getContentTable().add(scrollPane).width(720).height(420).pad(20); button("Cancel", false).key(Keys.ESCAPE, false).getButtonTable().padBottom(15); }
From source file:org.shadebob.skineditor.DrawablePickerDialog.java
License:Apache License
public DrawablePickerDialog(final SkinEditorGame game, final Field field) { super("Drawable Picker", game.skin); this.game = game; this.field = field; tableDrawables = new Table(game.skin); scrollPane = new ScrollPane(tableDrawables, game.skin); getContentTable().add(scrollPane);//from w ww .j ava 2 s . com scrollPane.setFlickScroll(false); scrollPane.setFadeScrollBars(false); scrollPane.setScrollbarsOnTop(true); TextButton buttonNewNinePatch = new TextButton("Create NinePatch", game.skin); buttonNewNinePatch.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { NinePatchEditorDialog dlg = new NinePatchEditorDialog(game) { @Override public void hide() { super.hide(); updateTable(); } }; dlg.show(game.screenMain.stage); } }); TextButton buttonNewDrawable = new TextButton("Import Image", game.skin); buttonNewDrawable.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { // Need to steal focus first with this hack (Thanks to Z-Man) Frame frame = new Frame(); frame.setUndecorated(true); // TODO fix falls frame.setOpacity(0); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.toFront(); frame.setVisible(false); frame.dispose(); JFileChooser chooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter("Images", "png"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(null); if (returnVal != JFileChooser.APPROVE_OPTION) { return; } File selectedFile = chooser.getSelectedFile(); if (selectedFile == null) { return; } // Loop until the file is not found while (true) { String resourceName = selectedFile.getName(); String ext = resourceName.substring(resourceName.lastIndexOf(".") + 1); resourceName = resourceName.substring(0, resourceName.lastIndexOf(".")); resourceName = JOptionPane.showInputDialog("Please choose the name of your resource", resourceName); if (resourceName == null) { return; } // Lower case everything ! I sound like someone on // libgdx channel ;] resourceName = resourceName.toLowerCase(); // Check for duplicate resources FileHandle[] assetsFolder = new FileHandle( "projects/" + game.screenMain.getcurrentProject() + "/assets/").list(); boolean foundSomething = false; for (FileHandle file : assetsFolder) { if (file.nameWithoutExtension().toLowerCase().equals(resourceName)) { foundSomething = true; break; } } if (foundSomething == true) { JOptionPane.showMessageDialog(null, "Sorry but this resource name is already in use!"); } else { // Copy the file FileHandle orig = new FileHandle(selectedFile); FileHandle dest = new FileHandle("projects/" + game.screenMain.getcurrentProject() + "/assets/" + resourceName + "." + ext); orig.copyTo(dest); game.screenMain.refreshResources(); refresh(); JOptionPane.showMessageDialog(null, "File successfully added to your project."); return; } } } }); TextButton buttonZoom = new TextButton("Toggle Zoom", game.skin); buttonZoom.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { zoom = !zoom; updateTable(); } }); TextButton buttonNoDrawable = new TextButton("Empty Drawable", game.skin); buttonNoDrawable.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyle, null); } catch (Exception e) { e.printStackTrace(); } game.screenMain.saveToSkin(); hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); } }); getContentTable().add(scrollPane).width(960).height(640).pad(20); getButtonTable().add(buttonNewNinePatch); getButtonTable().add(buttonNewDrawable); getButtonTable().add(buttonZoom); if (field != null) { getButtonTable().add(buttonNoDrawable); } getButtonTable().padBottom(15); button("Cancel", false); key(com.badlogic.gdx.Input.Keys.ESCAPE, false); }
From source file:scenes.GameLobby.java
@Override public void create() { playerLimitIndex = 0;//from ww w . j a v a2 s.c o m // shapeRenderer = new ShapeRenderer(); // shapeRenderer.setAutoShapeType(true); GameClient.getAllMaches(true); java.util.List<ActiveMatch> allActiveMatches = GameClient.getAllActiveMatches(); System.out.println(allActiveMatches); 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! ScrollPaneStyle paneStyle = new ScrollPaneStyle(); //Font 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; //System.out.println(atlas.getRegions()); paneStyle.background = new TextureRegionDrawable(atlas.findRegion("up")); table2 = new Table(); TextButton[] aam = new TextButton[allActiveMatches.size()]; for (int i = 0; i < allActiveMatches.size(); i++) { final ActiveMatch am = allActiveMatches.get(i); aam[i] = new TextButton( "Map:" + am.map + " - " + am.getGameMode() + " - Max:" + am.getNumberOfPlayers(), textButtonStyle); aam[i].addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new GameWaiting(am.getMap(), am.getGameMode(), am.getNumberOfPlayers()); } }); table2.add(aam[i]); } ScrollPane lobby = new ScrollPane(table2, paneStyle); 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); buttonCreate = new TextButton("Create", textButtonStyle); buttonCreate.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new GameCreate(); } }); buttonCreate.pad(20); buttonNoGame = new TextButton("No Games found", textButtonStyle); buttonNoGame.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { } }); buttonNoGame.pad(20); LabelStyle headingStyle = new LabelStyle(font60, Color.BLACK); heading = new Label("Lobby", headingStyle); table.add(heading).colspan(2).center(); table.padBottom(100); table.row(); if (allActiveMatches.size() <= 0) { table.add(buttonNoGame).colspan(2).center(); } else { table.add(lobby).colspan(2).center(); } table.padBottom(50); table.row(); table.add(buttonExit); table.add(buttonCreate); stage.addActor(table); }