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

        // image
        Path initialValue = this.skin.getImgPath_AccessSym();
        final ImageField imageField = new ImageField(initialValue, bg, strImgFieldTitle + "(" + strAccessSym + ")", false) {
            private final long serialVersionUID = 1L;

            @Override
            public void onFileChosen(File file) {
                if (file != null) {
                    ButtonChangesMenu.this.skin.setImgPath_AccessSym(file.toPath());
                    updatePathField(ButtonChangesMenu.this.skin.getImgPath_AccessSym(), false);
                } else {
                    ButtonChangesMenu.this.skin.setImgPath_AccessSym(null);
                    updatePathField(ButtonChangesMenu.this.skin.getImgPath_AccessSym(), true);
                }
            }
        };

        // size
        int[] size = new int[] { this.skin.getAccButtonWidth(), this.skin.getAccButtonHeight() };
        final SizeField sizeField = new SizeField(size, 3, bg, strSizeFieldTitle, true) {
            private final long serialVersionUID = 1L;

            @Override
            public void widthOnKeyReleased(String input) {
                if (!ButtonChangesMenu.this.skin.setAccButtonWidth(parseInt(input))) {
                    updateWidthfieldColor(Color.RED);
                }
            }

            @Override
            public void heightOnKeyReleased(String input) {
                if (!ButtonChangesMenu.this.skin.setAccButtonHeight(parseInt(input))) {
                    updateHeightfieldColor(Color.RED);
                }
            }

            @Override
            public void resetOnClick() {
                ButtonChangesMenu.this.skin.setAccButtonWidth(FAILURE);
                ButtonChangesMenu.this.skin.setAccButtonHeight(FAILURE);
                update(ButtonChangesMenu.this.skin.getAccButtonWidth(), ButtonChangesMenu.this.skin.getAccButtonHeight());
            }
        };

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

            @Override
            public void toprightOnPressed() {
            }

            @Override
            public void topleftOnPressed() {
            }

            @Override
            public void topOnPressed() {
            }

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

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

            @Override
            public void centerOnPressed() {
            }

            @Override
            public void bottomrightOnPressed() {
            }

            @Override
            public void bottomleftOnPressed() {
            }

            @Override
            public void bottomOnPressed() {
            }
        };

        // checkbox
        boolean posNone = this.skin.getAccButtonPosition() == Position.NONE;
        this.accBtn.add(new CheckField(posNone, bg, strHideFieldTitle, strHide) {
            private final long serialVersionUID = 1L;

            @Override
            public void btnPressed(boolean selected) {
                if (selected) {
                    ButtonChangesMenu.this.skin.setAccButtonPosition(Position.NONE);
                } else {
                    ButtonChangesMenu.this.skin.setAccButtonPosition(null);
                }

                imageField.setVisible(!selected);
                sizeField.setVisible(!selected);
                positionField.setVisible(!selected);
            }
        });

        if (posNone) {
            imageField.setVisible(false);
            sizeField.setVisible(false);
            positionField.setVisible(false);
        }

        this.accBtn.add(imageField);
        this.accBtn.add(sizeField);
        this.accBtn.add(positionField);
    }