@Override
    public void paintComponents(Graphics g) {
        if (!this.skin.getAccButtonPosition().equals(Position.NONE)) {
            Graphics g2 = g.create();

            int x, y;
            int w, h;
            Rectangle bounds = this.parent.getBounds();

            if (this.skin.isChanged() || (this.ground == null) || (this.symbol == null)) {
                try {
                    String p = this.skin.getImgPath_StandardBtn(Imagetype.DEFAULT).toString()
                            .replaceFirst(Constants.DEFAULT_SKINIMAGE_TYPE, Constants.DEFAULT_INPUTIMAGE_TYPE);
                    this.ground = ImageIO.read(new File(p));
                    p = this.skin.getImgPath_AccessSym().toString()
                            .replaceFirst(Constants.DEFAULT_SKINIMAGE_TYPE, Constants.DEFAULT_INPUTIMAGE_TYPE);
                    this.symbol = ImageIO.read(new File(p));
                } catch (IOException e) {
                    ;
                }
            }

            w = this.skin.getAccButtonWidth();
            h = this.skin.getAccButtonHeight();

            x = 30;
            y = bounds.height - h - 30;

            g2.drawImage(this.ground, x, y, w, h, null);

            g2.setClip(x, y, w, h);
            x += (w / 2) - (this.symbol.getWidth() / 2);

            g2.drawImage(this.symbol, x, y + 2, null);
        }
    }