private void initGraphics() {
        frame = new Region();
        frame.getStyleClass().setAll("frame");

        off = new Region();
        off.getStyleClass().setAll("off");

        offInnerShadow = new InnerShadow();
        offInnerShadow.setOffsetX(0);
        offInnerShadow.setOffsetY(-5.0 / 144.0 * PREFERRED_SIZE);
        offInnerShadow.setRadius(2.0 / 144.0 * PREFERRED_SIZE);
        offInnerShadow.setColor(Color.web("0x00000080"));
        offInnerShadow.setBlurType(BlurType.TWO_PASS_BOX);
        offInnerShadow1 = new InnerShadow();
        offInnerShadow1.setOffsetX(0.0);
        offInnerShadow1.setOffsetY(0.0);
        offInnerShadow1.setRadius(3.0 / 144.0 * PREFERRED_SIZE);
        offInnerShadow1.setColor(Color.web("0x0000004d"));
        offInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        offInnerShadow1.setInput(offInnerShadow);
        offDropShadow = new DropShadow();
        offDropShadow.setOffsetX(0);
        offDropShadow.setOffsetY(10.0 / 144.0 * PREFERRED_SIZE);
        offDropShadow.setRadius(10.0 / 144.0 * PREFERRED_SIZE);
        offDropShadow.setColor(Color.web("0x000000bf"));
        offDropShadow.setBlurType(BlurType.TWO_PASS_BOX);
        offDropShadow.setInput(offInnerShadow1);
        off.setEffect(offDropShadow);
        off.setVisible(!getSkinnable().isSelected());

        ledOff = new Region();
        ledOff.getStyleClass().setAll("off-led");
        ledOff.setMouseTransparent(true);
        ledOff.setVisible(!getSkinnable().isSelected());

        ledOffInnerShadow = new InnerShadow();
        ledOffInnerShadow.setOffsetX(0);
        ledOffInnerShadow.setOffsetY(2.0 / 144.0 * PREFERRED_SIZE);
        ledOffInnerShadow.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        ledOffInnerShadow.setColor(Color.web("0x0000004d"));
        ledOffInnerShadow.setBlurType(BlurType.TWO_PASS_BOX);
        ledOffInnerShadow1 = new InnerShadow();
        ledOffInnerShadow1.setOffsetX(0);
        ledOffInnerShadow1.setOffsetY(-2.0);
        ledOffInnerShadow1.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        ledOffInnerShadow1.setColor(Color.web("0xffffffa6"));
        ledOffInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        ledOffInnerShadow1.setInput(ledOffInnerShadow);
        ledOff.setEffect(ledOffInnerShadow1);

        on = new Region();
        on.getStyleClass().setAll("on");

        onInnerShadow = new InnerShadow();
        onInnerShadow.setOffsetX(0);
        onInnerShadow.setOffsetY(-2.0 / 144.0 * PREFERRED_SIZE);
        onInnerShadow.setRadius(2.0 / 144.0 * PREFERRED_SIZE);
        onInnerShadow.setColor(Color.web("0x00000080"));
        onInnerShadow.setBlurType(BlurType.TWO_PASS_BOX);
        onInnerShadow1 = new InnerShadow();
        onInnerShadow1.setOffsetX(0);
        onInnerShadow1.setOffsetY(5.0 / 144.0 * PREFERRED_SIZE);
        onInnerShadow1.setRadius(2.0 / 144.0 * PREFERRED_SIZE);
        onInnerShadow1.setColor(Color.web("0x90909080"));
        onInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        onInnerShadow1.setInput(onInnerShadow);
        onDropShadow = new DropShadow();
        onDropShadow.setOffsetX(0);
        onDropShadow.setOffsetY(1.0);
        onDropShadow.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        onDropShadow.setColor(Color.web("0x000000bf"));
        onDropShadow.setBlurType(BlurType.TWO_PASS_BOX);
        onDropShadow.setInput(onInnerShadow1);
        on.setEffect(onDropShadow);
        on.setVisible(getSkinnable().isSelected());

        ledOn = new Region();
        ledOn.getStyleClass().setAll("on-led");
        ledOn.setMouseTransparent(true);
        ledOn.setVisible(getSkinnable().isSelected());

        ledOnInnerShadow = new InnerShadow();
        ledOnInnerShadow.setOffsetX(1.4142135623730951);
        ledOnInnerShadow.setOffsetY(1.414213562373095);
        ledOnInnerShadow.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        ledOnInnerShadow.setColor(getSkinnable().getLedColor().darker().darker().darker());
        ledOnInnerShadow.setBlurType(BlurType.TWO_PASS_BOX);
        ledOnInnerShadow1 = new InnerShadow();
        ledOnInnerShadow1.setOffsetX(-2.457456132866976);
        ledOnInnerShadow1.setOffsetY(-1.7207293090531375);
        ledOnInnerShadow1.setRadius(2.0 / 144.0 * PREFERRED_SIZE);
        ledOnInnerShadow1.setColor(getSkinnable().getLedColor().darker());
        ledOnInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        ledOnInnerShadow1.setInput(ledOnInnerShadow);
        ledOnGlow = new DropShadow();
        ledOnGlow.setOffsetX(0.0);
        ledOnGlow.setOffsetY(0.0);
        ledOnGlow.setRadius(9.0 / 144.0 * PREFERRED_SIZE);
        ledOnGlow.setColor(getSkinnable().getLedColor());
        ledOnGlow.setBlurType(BlurType.TWO_PASS_BOX);
        ledOnGlow.setInput(ledOnInnerShadow1);
        ledOn.setEffect(ledOnGlow);
        Font.loadFont(getClass().getResourceAsStream("/eu/hansolo/enzo/fonts/opensans-semibold.ttf"), (28.0 / 144.0 * PREFERRED_SIZE)); // "OpenSans"
        font = Font.font("Open Sans", FontWeight.BOLD, FontPosture.REGULAR, 28.0 / 144.0 * PREFERRED_SIZE);
        text = new Text(getSkinnable().getText());
        text.setFont(font);
        text.setTextOrigin(VPos.TOP);
        text.getStyleClass().add("text");
        text.setMouseTransparent(true);
        textInnerShadow = new InnerShadow();
        textInnerShadow.setOffsetX(0);
        textInnerShadow.setOffsetY(-1.0 / 144.0 * PREFERRED_SIZE);
        textInnerShadow.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        textInnerShadow.setColor(Color.web("0x90909080"));
        textInnerShadow.setBlurType(BlurType.TWO_PASS_BOX);
        textInnerShadow1 = new InnerShadow();
        textInnerShadow1.setOffsetX(0);
        textInnerShadow1.setOffsetY(1.0 / 144.0 * PREFERRED_SIZE);
        textInnerShadow1.setRadius(1.0 / 144.0 * PREFERRED_SIZE);
        textInnerShadow1.setColor(Color.web("0x00000080"));
        textInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        textInnerShadow1.setInput(textInnerShadow);
        text.setEffect(textInnerShadow1);


        pane.getChildren().setAll(frame,
                                  off,
                                  ledOff,
                                  on,
                                  ledOn,
                                  text);

        getChildren().setAll(pane);
        resize();
    }