List of usage examples for com.badlogic.gdx.graphics Color toString
public String toString()
From source file:com.mbrlabs.mundus.ui.widgets.ColorPickerField.java
License:Apache License
public void setColor(Color color) { textField.setText("#" + color.toString()); colorPicker.setColor(color);/*ww w . j av a 2 s . c o m*/ this.color = color; }
From source file:com.mbrlabs.mundus.ui.widgets.ColorPickerField.java
License:Apache License
private void setupListeners() { // color chooser colorPicker.setListener(new ColorPickerAdapter() { @Override// w w w . ja va 2 s . co m public void finished(Color newColor) { textField.setText("#" + newColor.toString()); color = newColor; callback.selected(color); } }); // color chooser button cpBtn.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); Ui.getInstance().addActor(colorPicker.fadeIn()); } }); }
From source file:de.bioviz.svg.SVGCoreCreator.java
License:Open Source License
/** * Sets the style tag for the first tag occurrence. * * @param element/*from www . j a va2 s . co m*/ * xml top node * @param tagName * the name of the tag to modify * @param fillColor * the new fillColor * @param strokeColor * the new strokeColor */ private void setStyleForElement(final Element element, final String tagName, final Color fillColor, final Color strokeColor) { NodeList elements = element.getElementsByTagName(tagName); if (elements.getLength() > 0) { Node node = elements.item(0); if (node.getNodeType() == Node.ELEMENT_NODE) { Element elem = (Element) node; String style = elem.getAttribute("style"); StringBuilder styleAfter = new StringBuilder(); for (final String split : style.split(";")) { String styleType = split.split(":")[0]; if ("fill".equals(styleType) && fillColor != null) { styleAfter.append(styleType).append(":#") .append(fillColor.toString().substring(0, COLOR_DIGITS)).append(";"); } else if ("stroke".equals(styleType) && strokeColor != null) { styleAfter.append(styleType).append(":#") .append(strokeColor.toString().substring(0, COLOR_DIGITS)).append(";"); } else { styleAfter.append(split).append(";"); } } elem.setAttribute("style", styleAfter.toString()); } } }
From source file:de.bioviz.svg.SVGUtils.java
License:Open Source License
/** * Converts a libGDX color to a SVG-usable format. * <p>//from w w w . java 2 s . c o m * What it basically does is to throw away the last two characters, i.e. * the alpha channel. * * @param c * Color to transform * @return Color in format to be used by SVG */ public static String colorToSVG(final Color c) { return c.toString().substring(0, 6); }
From source file:de.longri.cachebox3.develop.tools.skin_editor.actors.OptionsPane.java
License:Apache License
/** * *///from ww w .j a v a 2 s. c om private void updateTableFields(final String style) { ImageButton button = (ImageButton) game.screenMain.barWidgets.group.getChecked(); String widget = button.getUserObject().toString(); Gdx.app.log("OptionsPane", "Update fields table for widget: " + widget + ", style: " + style); tableFields.clear(); tableFields.add(new Label("Name", game.skin, "title")).left().width(170); tableFields.add(new Label("Value", game.skin, "title")).left().width(60).padRight(50); tableFields.row(); Field[] fields = ClassReflection.getFields(currentStyle.getClass()); for (final Field field : fields) { try { Actor actor = null; // field type String name = field.getType().getSimpleName(); Object obj = field.get(currentStyle); if (name.equals("Drawable")) { /** * Handle Drawable object */ Drawable drawable = (Drawable) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if (drawable != null) { resourceName = game.skinProject.resolveObjectName(Drawable.class, drawable); if (resourceName == null) { resourceName = game.skinProject.resolveObjectName(TextureRegion.class, drawable); } buttonStyle.imageUp = drawable; } else { buttonStyle.up = game.skin.getDrawable("default-rect"); buttonStyle.checked = game.skin.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showDrawableDialog(field, false); } }); } else if (name.equals("Bitmap")) { /** * Handle Bitmap object */ Bitmap bitmap = (Bitmap) field.get(currentStyle); byte[] bytes = null; if (bitmap != null) bytes = bitmap.getPngEncodedData(); Drawable drawable = bitmap != null ? new TextureRegionDrawable( new TextureRegion(new Texture(new Pixmap(bytes, 0, bytes.length)))) : null; String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if (drawable != null) { resourceName = ((GetName) bitmap).getName(); buttonStyle.imageUp = drawable; } else { buttonStyle.up = game.skin.getDrawable("default-rect"); buttonStyle.checked = game.skin.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showDrawableDialog(field, true); } }); } else if (name.equals("Color")) { /** * Handle Color object */ Color color = (Color) field.get(currentStyle); ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); String resourceName = ""; if (color != null) { if (color instanceof SkinColor) { resourceName = ((SkinColor) color).skinName; } else { resourceName = game.skinProject.resolveObjectName(SkinColor.class, color); } resourceName += " (" + color.toString() + ")"; // Create drawable on the fly Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888); pixmap.setColor(color); pixmap.fill(); pixmap.setColor(Color.BLACK); pixmap.drawRectangle(0, 0, 18, 18); Texture texture = new Texture(pixmap); buttonStyle.imageUp = new SpriteDrawable(new Sprite(texture)); pixmap.dispose(); } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showColorPickerDialog(field); } }); } else if (name.equals("BitmapFont")) { /** * Handle BitmapFont object */ BitmapFont font = (BitmapFont) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if (font != null) { resourceName = game.skinProject.resolveObjectName(BitmapFont.class, font); buttonStyle.font = font; } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showFontPickerDialog(field); } }); } else if (name.equals("float")) { /** * Handle Float object */ Float value = (Float) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if ((value != null) && (value != 0)) { resourceName = String.valueOf(value); } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showFloatInputDialog(field); } }); } else if (name.equals("ListStyle")) { /** * Handle ListStyle object */ ListStyle listStyle = (ListStyle) field.get(currentStyle); actor = new SelectBox<String>(game.skin, "default"); Array<String> items = new Array<String>(); final ObjectMap<String, ListStyle> values = game.skinProject.getAll(ListStyle.class); Iterator<String> it = values.keys().iterator(); String selection = null; while (it.hasNext()) { String key = it.next(); items.add(key); if (listStyle == values.get(key)) { selection = key; } } ((SelectBox) actor).setItems(items); if (selection != null) { ((SelectBox) actor).setSelected(selection); } actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { String selection = (String) ((SelectBox) actor).getSelected(); try { field.set(currentStyle, values.get(selection)); } catch (Exception e) { e.printStackTrace(); } game.screenMain.saveToSkin(); refresh(true); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.panePreview.refresh(); } }); } else if (name.equals("ScrollPaneStyle")) { /** * Handle ListStyle object */ ScrollPaneStyle scrollStyle = (ScrollPaneStyle) field.get(currentStyle); actor = new SelectBox<String>(game.skin, "default"); Array<String> items = new Array<String>(); final ObjectMap<String, ScrollPaneStyle> values = game.skinProject .getAll(ScrollPaneStyle.class); Iterator<String> it = values.keys().iterator(); String selection = null; while (it.hasNext()) { String key = it.next(); items.add(key); if (scrollStyle == values.get(key)) { selection = key; } } ((SelectBox) actor).setItems(items); if (selection != null) { ((SelectBox) actor).setSelected(selection); } actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { String selection = (String) ((SelectBox) actor).getSelected(); try { field.set(currentStyle, values.get(selection)); } catch (Exception e) { e.printStackTrace(); } game.screenMain.saveToSkin(); refresh(true); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.panePreview.refresh(); } }); } else { Gdx.app.log("OptionsPane", "Unknown type: " + name); if (!(currentStyle instanceof AbstractIconStyle)) { actor = new Label("Unknown Type", game.skin); } } if (actor != null) { // field name // White required // Grey optional if (game.opt.isFieldOptional(currentStyle.getClass(), field.getName())) { tableFields.add(new Label(field.getName(), game.skin, "optional")).left(); } else { tableFields.add(new Label(field.getName(), game.skin, "default")).left(); } tableFields.add(actor).left().height(64).padRight(24).expandX().fillX(); tableFields.row(); } } catch (Exception e) { e.printStackTrace(); } //send changes to PreviewPane previewPane.selectedStyleChanged(); } }
From source file:de.longri.cachebox3.develop.tools.skin_editor.ColorPickerDialog.java
License:Apache License
/** * Refresh table content with colors from the skin *//*from w w w . j ava2s. c o m*/ public void updateTable() { tableColors.clear(); tableColors.add(new Label("Color Name", game.skin, "title")).left().width(170); tableColors.add(new Label("Value", game.skin, "title")).colspan(2).left().width(60).padRight(50); tableColors.row(); Iterator<String> it = colors.keys().iterator(); while (it.hasNext()) { final String key = it.next(); final Color color = colors.get(key); tableColors.add(key).left(); // Create drawable on the fly Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888); pixmap.setColor(color); pixmap.fill(); pixmap.setColor(Color.BLACK); pixmap.drawRectangle(0, 0, 18, 18); Texture texture = new Texture(pixmap); pixmap.dispose(); tableColors.add(new Image(texture)); tableColors.add(color.toString()).left(); TextButton buttonSelect = new TextButton("Select", game.skin); buttonSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyle, color); } catch (Exception e) { e.printStackTrace(); } hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.saveToSkin(); } }); TextButton buttonRemove = new TextButton("Remove", game.skin); buttonRemove.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { Dialog dlg = new Dialog("Delete Style", game.skin) { @Override protected void result(Object object) { if ((Boolean) object == false) { return; } colors.remove(key); // update table updateTable(); game.screenMain.saveToSkin(); } }; dlg.pad(20); dlg.getContentTable().add("You are sure you want to delete this color?"); dlg.button("OK", true); dlg.button("Cancel", false); dlg.key(com.badlogic.gdx.Input.Keys.ENTER, true); dlg.key(com.badlogic.gdx.Input.Keys.ESCAPE, false); dlg.show(game.screenMain.stage); } }); if (field != null) { tableColors.add(buttonSelect).padRight(5); } tableColors.add(buttonRemove); tableColors.row(); } }
From source file:mobi.shad.s3lib.gui.Gui.java
License:Apache License
/** * @param label//from w w w. ja va2s . co m * @param object * @param fieldName * @param value * @param newRow * @param colSpan * @param changeListener * @return */ public ColorBrowser addColorBrowser(String label, Object object, String fieldName, Color value, boolean newRow, int colSpan, WidgetColorListener changeListener) { final WidgetColorListener outListener = changeListener; final GuiElement element = new GuiElement(label, 0, object, fieldName, value); final ColorBrowser colorBrowser = new ColorBrowser(); colorBrowser.set(value); final Table colorBrowserTable = colorBrowser.getTable(); colorBrowser.setColorListener(new WidgetColorListener() { @Override public void Action(Color color) { if (S3Constans.DEBUG) { S3Log.log("S3Gui::addColorBrowser::Action", "Set color: " + color.toString()); } element.setValue(color); if (outListener != null && disableListener == false) { outListener.Action(color); } } }); addRow(colorBrowserTable, null, label, 0, colSpan, newRow, true); return colorBrowser; }
From source file:mobi.shad.s3lib.gui.Gui.java
License:Apache License
/** * @param label//www .j a v a 2 s. c om * @param object * @param fieldName * @param value * @param newRow * @param colSpan * @param changeListener * @return */ public ColorBrowser addColorBrowserChange(String label, Object object, String fieldName, Color value, boolean newRow, int colSpan, ChangeListener changeListener) { final ChangeListener outListener = changeListener; final GuiElement element = new GuiElement(label, 0, object, fieldName, value); final ColorBrowser colorBrowser = new ColorBrowser(); colorBrowser.set(value); final Table colorBrowserTable = colorBrowser.getTable(); colorBrowser.setColorListener(new WidgetColorListener() { @Override public void Action(Color color) { if (S3Constans.DEBUG) { S3Log.log("S3Gui::addColorBrowser::Action", "Set color: " + color.toString()); } element.setValue(color); if (outListener != null && disableListener == false) { outListener.changed(new ChangeEvent(), colorBrowserTable); } } }); addRow(colorBrowserTable, null, label, 0, colSpan, newRow, true); return colorBrowser; }
From source file:org.shadebob.skineditor.actors.OptionsPane.java
License:Apache License
/** * //from w ww . ja v a 2 s . c om */ private void updateTableFields(final String style) { ImageButton button = (ImageButton) game.screenMain.barWidgets.group.getChecked(); String widget = button.getUserObject().toString(); Gdx.app.log("OptionsPane", "Update fields table for widget: " + widget + ", style: " + style); tableFields.clear(); tableFields.add(new Label("Name", game.skin, "title")).left().width(170); tableFields.add(new Label("Value", game.skin, "title")).left().width(60).padRight(50); tableFields.row(); Field[] fields = ClassReflection.getFields(currentStyle.getClass()); for (final Field field : fields) { try { // field name // White required // Grey optional if (game.opt.isFieldOptional(currentStyle.getClass(), field.getName())) { tableFields.add(new Label(field.getName(), game.skin, "optional")).left(); } else { tableFields.add(new Label(field.getName(), game.skin, "default")).left(); } Actor actor; // field type String name = field.getType().getSimpleName(); Object obj = field.get(currentStyle); if (name.equals("Drawable")) { /** * Handle Drawable object */ Drawable drawable = (Drawable) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if (drawable != null) { resourceName = game.skinProject.resolveObjectName(Drawable.class, drawable); buttonStyle.imageUp = drawable; } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showDrawableDialog(field); } }); } else if (name.equals("Color")) { /** * Handle Color object */ Color color = (Color) field.get(currentStyle); ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); String resourceName = ""; if (color != null) { resourceName = game.skinProject.resolveObjectName(Color.class, color); resourceName += " (" + color.toString() + ")"; // Create drawable on the fly Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888); pixmap.setColor(color); pixmap.fill(); pixmap.setColor(Color.BLACK); pixmap.drawRectangle(0, 0, 18, 18); Texture texture = new Texture(pixmap); buttonStyle.imageUp = new SpriteDrawable(new Sprite(texture)); pixmap.dispose(); } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showColorPickerDialog(field); } }); } else if (name.equals("BitmapFont")) { /** * Handle BitmapFont object */ BitmapFont font = (BitmapFont) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if (font != null) { resourceName = game.skinProject.resolveObjectName(BitmapFont.class, font); buttonStyle.font = font; } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showFontPickerDialog(field); } }); } else if (name.equals("float")) { /** * Handle Float object */ Float value = (Float) field.get(currentStyle); String resourceName = ""; ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle( game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"), game.skin.getFont("default-font")); if ((value != null) && (value != 0)) { resourceName = String.valueOf(value); } else { buttonStyle.up = game.skinProject.getDrawable("default-rect"); buttonStyle.checked = game.skinProject.getDrawable("default-rect"); } actor = new ImageTextButton(resourceName, buttonStyle); ((ImageTextButton) actor).setClip(true); actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { showFloatInputDialog(field); } }); } else if (name.equals("ListStyle")) { /** * Handle ListStyle object */ ListStyle listStyle = (ListStyle) field.get(currentStyle); actor = new SelectBox<String>(game.skin, "default"); Array<String> items = new Array<String>(); final ObjectMap<String, ListStyle> values = game.skinProject.getAll(ListStyle.class); Iterator<String> it = values.keys().iterator(); String selection = null; while (it.hasNext()) { String key = it.next(); items.add(key); if (listStyle == values.get(key)) { selection = key; } } ((SelectBox) actor).setItems(items); if (selection != null) { ((SelectBox) actor).setSelected(selection); } actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { String selection = (String) ((SelectBox) actor).getSelected(); try { field.set(currentStyle, values.get(selection)); } catch (Exception e) { e.printStackTrace(); } game.screenMain.saveToSkin(); refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.panePreview.refresh(); } }); } else if (name.equals("ScrollPaneStyle")) { /** * Handle ListStyle object */ ScrollPaneStyle scrollStyle = (ScrollPaneStyle) field.get(currentStyle); actor = new SelectBox<String>(game.skin, "default"); Array<String> items = new Array<String>(); final ObjectMap<String, ScrollPaneStyle> values = game.skinProject .getAll(ScrollPaneStyle.class); Iterator<String> it = values.keys().iterator(); String selection = null; while (it.hasNext()) { String key = it.next(); items.add(key); if (scrollStyle == values.get(key)) { selection = key; } } ((SelectBox) actor).setItems(items); if (selection != null) { ((SelectBox) actor).setSelected(selection); } actor.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { String selection = (String) ((SelectBox) actor).getSelected(); try { field.set(currentStyle, values.get(selection)); } catch (Exception e) { e.printStackTrace(); } game.screenMain.saveToSkin(); refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.panePreview.refresh(); } }); } else { Gdx.app.log("OptionsPane", "Unknown type: " + name); actor = new Label("Unknown Type", game.skin); } tableFields.add(actor).left().height(32).padRight(24).expandX().fillX(); tableFields.row(); } catch (Exception e) { e.printStackTrace(); } } }
From source file:org.shadebob.skineditor.ColorPickerDialog.java
License:Apache License
/** * //from w w w . j a va 2 s. com */ public ColorPickerDialog(final SkinEditorGame game, final Field field) { super("Color Picker", game.skin); this.game = game; this.field = field; tableColors = new Table(game.skin); tableColors.left().top().pad(5); tableColors.defaults().pad(5); colors = game.skinProject.getAll(Color.class); updateTable(); TextButton buttonNewColor = new TextButton("New Color", game.skin); buttonNewColor.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(); // Call swing color picker java.awt.Color color = JColorChooser.showDialog(null, "Pick your color", java.awt.Color.WHITE); if (color != null) { String colorName = JOptionPane.showInputDialog("Name your color"); if ((colorName != null) && (colorName.isEmpty() == false)) { // Verify if the color name is already in use if (colors.containsKey(colorName) == true) { game.showNotice("Error", "Color name already in use!", game.screenMain.stage); } else { // Add the color (asuming RGBA) float[] components = color.getComponents(null); Color newColor = new Color(components[0], components[1], components[2], components[3]); if (isColorInUse(newColor)) { game.showNotice("Error", "Same color value (" + newColor.toString() + ") is already defined with a different name!", game.screenMain.stage); return; } colors.put(colorName, newColor); game.screenMain.saveToSkin(); // update table updateTable(); } } } } }); TextButton buttonNoColor = new TextButton("Empty Color", game.skin); buttonNoColor.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(); } }); ScrollPane scrollPane = new ScrollPane(tableColors, game.skin); scrollPane.setFlickScroll(false); scrollPane.setFadeScrollBars(false); scrollPane.setScrollbarsOnTop(true); getContentTable().add(scrollPane).width(540).height(320).pad(20); getButtonTable().add(buttonNewColor); if (field != null) { getButtonTable().add(buttonNoColor); } getButtonTable().padBottom(15); button("Cancel", false); key(com.badlogic.gdx.Input.Keys.ESCAPE, false); }