private void resize() {
        size   = getSkinnable().getWidth() < getSkinnable().getHeight() ? getSkinnable().getWidth() : getSkinnable().getHeight();
        width  = getSkinnable().getWidth();
        height = getSkinnable().getHeight();
        if (getSkinnable().isKeepAspect()) {
            if (aspectRatio * width > height) {
                width  = 1 / (aspectRatio / height);
            } else if (1 / (aspectRatio / height) > width) {
                height = aspectRatio * width;
            }
        }
        if (width > 0 && height > 0) {
            frame.setPrefSize(width, height);

            deselected.setPrefSize(0.6875 * width, 0.6875 * height);
            deselected.setTranslateX(0.15625 * width);
            deselected.setTranslateY(0.15625 * height);
            deselectedDropShadow.setRadius(3.0 / 128.0 * size);

            selected.setPrefSize(0.6875 * width, 0.6796875 * height);
            selected.setTranslateX(0.15625 * width);
            selected.setTranslateY(0.15625 * height);
            selectedDropShadow.setRadius(2.0 / 128.0 * size);

            icon.setPrefSize(0.375 * width, 0.4375 * height);
            icon.setTranslateX(0.3125 * width);
            icon.setTranslateY(0.28125 * height);
        }
    }