code: @Override
      public void setValue(final double VALUE) {
          if (isEnabled()) {
              super.setValue(VALUE);
  
              this.stepValue = 2 * ((int) (Math.abs(VALUE) * 10) % 10);
              if (stepValue > 10) {
                  stepValue -= 20;
              }
  
              if (VALUE == 0) {
                  this.visibleValue = 90;
              }
  
              if (VALUE > 0 && VALUE <= 90) {
                  this.visibleValue = (90 - VALUE % 360);
              }
  
              if (VALUE > 90 && VALUE <= 180) {
                  this.visibleValue = (VALUE - 90);
              }
  
              if (VALUE > 180 && VALUE <= 270) {
                  this.visibleValue = (270 - VALUE);
              }
  
              if (VALUE > 270 && VALUE <= 360) {
                  this.visibleValue = (VALUE - 270);
              }
  
              if (VALUE < 0 && VALUE >= -90) {
                  this.visibleValue = (90 - Math.abs(VALUE));
              }
  
              if (VALUE < -90 && VALUE >= -180) {
                  this.visibleValue = Math.abs(VALUE) - 90;
              }
  
              if (VALUE < -180 && VALUE >= -270) {
                  this.visibleValue = 270 - Math.abs(VALUE);
              }
  
              if (VALUE < -270 && VALUE >= -360) {
                  this.visibleValue = Math.abs(VALUE) - 270;
              }
  
              fireStateChanged();
              repaint();
          }
      }
docs: Sets the current level value in degrees (0 - 360¬¨¬®‚Äö√†√ª)
  @param VALUE