private void initlocaleBtn(Color bg) {
        this.localeBtn = new JPanel();
        this.localeBtn.setBackground(bg);
        this.localeBtn.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));

        // position
        Position pos = this.skin.getLocaleButtonPosition();
        boolean[] active = { true, true, true, true, true, true, true, true, true };
        final PositionField positionField = new PositionField(pos, active, bg, strPosFieldTitle) {
            private final long serialVersionUID = 1L;

            @Override
            public void toprightOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.TOPRIGHT);
            }

            @Override
            public void topleftOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.TOPLEFT);
            }

            @Override
            public void topOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.TOP);
            }

            @Override
            public void centerrightOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.RIGHT);
            }

            @Override
            public void centerleftOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.LEFT);
            }

            @Override
            public void centerOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.CENTER);
            }

            @Override
            public void bottomrightOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.BOTTOMRIGHT);
            }

            @Override
            public void bottomleftOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.BOTTOMLEFT);
            }

            @Override
            public void bottomOnPressed() {
                ButtonChangesMenu.this.skin.setLocaleButtonPosition(Position.BOTTOM);
            }
        };

        // padding
        final int[] padding = this.skin.getLocaleButtonPadding();
        final PaddingField paddingfield = new PaddingField(padding, bg, strPaddingFieldTitle) {
            private final long serialVersionUID = 1L;

            private int[] tmp = (padding == null) ? new int[] { 0, 0, 0, 0 } : padding;

            @Override
            public void topFieldOnKeyReleased(String input) {
                controlAndSet(input, 1);
            }

            @Override
            public void rightFieldOnKeyReleased(String input) {
                controlAndSet(input, 2);
            }

            @Override
            public void leftFieldOnKeyReleased(String input) {
                controlAndSet(input, 0);
            }

            @Override
            public void bottomFieldOnKeyReleased(String input) {
                controlAndSet(input, 3);
            }

            private void controlAndSet(String s, int index) {
                int i = FAILURE;
                if (s != null) {
                    try {
                        i = Integer.parseInt(s);
                    } catch (NumberFormatException e) {
                        i = FAILURE;
                    }
                }

                if (i == FAILURE) {
                    ButtonChangesMenu.this.skin.setLocaleButtonPadding(null);
                } else {
                    this.tmp[index] = i;
                    ButtonChangesMenu.this.skin.setLocaleButtonPadding(this.tmp);
                }
            }

            @Override
            public int[] reset() {
                ButtonChangesMenu.this.skin.setLocaleButtonPadding(null);
                this.tmp = ButtonChangesMenu.this.skin.getLocaleButtonPadding();
                return this.tmp;
            }
        };

        // checkbox
        boolean hide = !this.skin.getLocaleButtonVisible();
        this.localeBtn.add(new CheckField(hide, bg, strHideFieldTitle, strHide) {
            private final long serialVersionUID = 1L;

            @Override
            public void btnPressed(boolean selected) {
                ButtonChangesMenu.this.skin.setLocaleButtonVisibility(!selected);
                positionField.setVisible(!selected);
                paddingfield.setVisible(!selected);
            }
        });

        if (hide) {
            positionField.setVisible(false);
            paddingfield.setVisible(false);
        }

        this.localeBtn.add(positionField);
        this.localeBtn.add(paddingfield);
    }