@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g2 = (Graphics2D) g;
        zoom();
        g2.translate(getWidth() / 2 + mouseDragTransformation.x, getHeight() / 2 + mouseDragTransformation.y);
        defaultStroke = g2.getStroke();

        enableAntialiasing();
        calculateScaling();
        drawYAxis();
        drawYHatches();

        drawRobotArm();
        drawExpansionRanges();
        drawSprings();
        drawMasses();
    }