Example usage for com.badlogic.gdx.scenes.scene2d.ui TextField setTextFieldFilter

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

Introduction

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

Prototype

public void setTextFieldFilter(TextFieldFilter filter) 

Source Link

Usage

From source file:com.bladecoder.engineeditor.ui.components.PropertyTable.java

License:Apache License

public void addProperty(String name, String value, Types type) {

    table.row();// ww w  .ja  v a 2s  .  co m
    table.add(new Label(name, skin)).expandX().left();

    if (type == Types.BOOLEAN) {
        SelectBox<String> sb = new SelectBox<String>(skin);
        sb.setItems(BOOLEAN_VALUES);
        if (value != null)
            sb.setSelected(value);
        sb.setName(name);
        table.add(sb).expandX().left();

        sb.addListener(new ChangeListener() {

            @SuppressWarnings("unchecked")
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                updateModel(actor.getName(), ((SelectBox<String>) actor).getSelected());

            }
        });
    } else {
        TextField tf = new TextField(value == null ? "" : value, skin);
        tf.setName(name);
        table.add(tf).expandX().left();

        if (type == Types.INTEGER)
            tf.setTextFieldFilter(new TextField.TextFieldFilter.DigitsOnlyFilter());

        tf.setTextFieldListener(new TextFieldListener() {
            @Override
            public void keyTyped(TextField actor, char c) {
                if (c == 13) { // ENTER KEY
                    updateModel(actor.getName(), ((TextField) actor).getText());
                    EditorLogger.debug("Updating property: " + actor.getName());
                }
            }
        });

        tf.addListener(new FocusListener() {

            @Override
            public void keyboardFocusChanged(FocusEvent event, Actor actor, boolean focused) {
                if (!focused) {
                    updateModel(actor.getName(), ((TextField) actor).getText());
                    EditorLogger.debug("Updating property: " + actor.getName());
                }
            }
        });
    }
}

From source file:com.forerunnergames.peril.client.ui.widgets.AbstractWidgetFactory.java

License:Open Source License

@Override
public final TextField createTextField(final String initialText, final int maxLength, final Pattern filter,
        final TextField.TextFieldStyle style) {
    Arguments.checkIsNotNull(initialText, "initialText");
    Arguments.checkIsNotNegative(maxLength, "maxLength");
    Arguments.checkIsNotNull(filter, "filter");
    Arguments.checkIsNotNull(style, "style");

    final TextField textField = new TextField(initialText, style) {
        @Override/*from   w  ww .j a  v a  2s.co m*/
        protected InputListener createInputListener() {
            return new TextFieldClickListener() {
                @Override
                public boolean keyDown(final InputEvent event, final int keycode) {
                    return doNotHandleEscapeKeyInTextField(event, keycode);
                }

                private boolean doNotHandleEscapeKeyInTextField(final InputEvent event, final int keycode) {
                    return keycode != Input.Keys.ESCAPE && super.keyDown(event, keycode);
                }
            };
        }
    };

    final Matcher matcher = filter.matcher("").reset();

    textField.setTextFieldFilter(new TextField.TextFieldFilter() {
        @Override
        public boolean acceptChar(final TextField textField, final char c) {
            return matcher.reset(String.valueOf(c)).matches();
        }
    });

    textField.setMaxLength(maxLength);

    return textField;
}

From source file:com.strategames.ui.dialogs.GameObjectConfigurationDialog.java

License:Open Source License

private void setupConfigurationItems() {
    Table table = new Table(getSkin());

    gameObject.initializeConfigurationItems();

    ArrayList<ConfigurationItem> configurationItems = gameObject.getConfigurationItems();

    if (configurationItems != null) {
        for (ConfigurationItem item : configurationItems) {
            final ConfigurationItem.Type type = item.getType();

            if (item.getType() == ConfigurationItem.Type.TEXT) {
                Label label = new Label(item.getName(), getSkin());
                table.add(label);/* ww w  .jav a2 s  . c o  m*/

                TextField tf = new TextField(String.valueOf(item.getValueText()), getSkin());
                final StringBuffer buffer = new StringBuffer();
                tf.setTextFieldListener(new TextFieldListener() {

                    @Override
                    public void keyTyped(TextField textField, char key) {
                        if (key == '\n') {
                            textField.getOnscreenKeyboard().show(false);
                            ConfigurationItem nItem = getConfigurationItemFromSelectedObject(type);
                            if (nItem != null) {
                                nItem.setValueText(buffer.toString());
                            }
                        }
                        buffer.append(key);
                    }
                });
                table.add(tf).left();
                table.row();
            } else if (item.getType() == ConfigurationItem.Type.NUMERIC) {
                Label label = new Label(item.getName(), getSkin());
                table.add(label).left();

                TextField tf = new TextField(String.valueOf(item.getValueNumeric()), getSkin());
                tf.setTextFieldFilter(new TextFieldFilter() {
                    @Override
                    public boolean acceptChar(TextField textField, char key) {
                        return Character.isDigit(key);
                    }
                });

                final StringBuffer buffer = new StringBuffer();
                tf.setTextFieldListener(new TextFieldListener() {

                    @Override
                    public void keyTyped(TextField textField, char key) {
                        if (key == '\n') {
                            textField.getOnscreenKeyboard().show(false);
                            ConfigurationItem nItem = getConfigurationItemFromSelectedObject(type);
                            if (nItem != null) {
                                nItem.setValueNumeric(Float.parseFloat(buffer.toString()));
                            }
                        }
                        buffer.append(key);
                    }
                });
                table.add(tf).left();
                table.row();
            } else if (item.getType() == ConfigurationItem.Type.NUMERIC_RANGE) {
                Label label = new Label(item.getName(), getSkin());
                table.add(label).left();

                Slider slider = new Slider(item.getMinValue(), item.getMaxValue(), item.getStepSize(), false,
                        getSkin());
                slider.setValue(item.getValueNumeric());
                slider.addListener(new ChangeListener() {

                    @Override
                    public void changed(ChangeEvent event, Actor actor) {
                        Slider slider = (Slider) actor;
                        ConfigurationItem nItem = getConfigurationItemFromSelectedObject(type);
                        if (nItem != null) {
                            nItem.setValueNumeric(slider.getValue());
                        }
                    }
                });
                table.add(slider).left();
                table.row();
            } else if (item.getType() == ConfigurationItem.Type.BOOLEAN) {
                Label label = new Label(item.getName(), getSkin());
                table.add(label).left();

                final CheckBox cb = new CheckBox("", getSkin());
                cb.setChecked(item.getValueBoolean());
                cb.addListener(new ClickListener() {
                    @Override
                    public void clicked(InputEvent event, float x, float y) {
                        ConfigurationItem nItem = getConfigurationItemFromSelectedObject(type);
                        if (nItem != null) {
                            nItem.setValueBoolean(cb.isChecked());
                        }
                    }
                });

                table.add(cb).left();
                table.row();
            }
            add(table);
            row();
        }
    }
}

From source file:kyle.game.besiege.MainMenuScreen.java

License:Open Source License

private void clickNew() {
    topTable.clear();/*w w  w  .  j  av a2s.c o  m*/
    topTable.add(labelTitle).colspan(2).padBottom(PAD);
    topTable.row();
    Label prompt = new Label("Who are you?", styleButtons);
    topTable.add(prompt).expandX().center().colspan(2);
    topTable.row();

    TextFieldStyle tfs = new TextFieldStyle();
    tfs.fontColor = Color.WHITE;
    tfs.font = Assets.pixel64;
    TextField tf = new TextField("", tfs);
    TextField tf2 = new TextField("", tfs);
    tf2.setVisible(false);
    topTable.add(tf).expandX().center().colspan(2).width(300);
    tf.setMaxLength(MAX_NAME);
    topTable.row();
    topTable.add(tf2).colspan(2).height(0); // needed to autoselect
    tf.next(true);
    tf.setTextFieldFilter(new TextFieldFilter() {
        public boolean acceptChar(TextField textField, char key) {
            return true;
        }
    });

    tf.addListener(new InputListener() {
        public boolean keyDown(InputEvent event, int keyCode) {
            if (keyCode == Input.Keys.ENTER)
                enterName(((TextField) event.getTarget()).getText());
            return true;
        }
    });
    tf2.next(false);
}