.prefSize(200,200)// Set the preferred size of the control
// Related to Foreground Elements
.foregroundBaseColor(Color.WHITE)// Defines a color for title, subtitle, unit, value, tick label, tick mark, major tick mark, medium tick mark and minor tick mark
// Related to Title Text
.title("Title")// Set the text for the title
// Related to Sub Title Text
.subTitle("SubTitle")// Set the text for the subtitle
// Related to Unit Text
.unit("Unit")// Set the text for the unit
// Related to Value Text
.decimals(2)// Set the number of decimals for the value/lcd text
// Related to LCD
.lcdVisible(true)// Display a LCD instead of the plain value text
.lcdDesign(LcdDesign.STANDARD)// Set the design for the LCD
.lcdFont(LcdFont.DIGITAL_BOLD)// Set the font for the LCD (STANDARD, LCD, SLIM, DIGITAL_BOLD, ELEKTRA)
// Related to scale
.scaleDirection(Gauge.ScaleDirection.CLOCKWISE)// Define the direction of the Scale (CLOCKWISE, COUNTER_CLOCKWISE)
.minValue(0)// Set the start value of the scale
.maxValue(100)// Set the end value of the scale
.startAngle(320)// Set the start angle of your scale (bottom -> 0, direction -> CCW)
.angleRange(280)// Set the angle range of your scale starting from the start angle
// Related to Tick Labels
.tickLabelDecimals(0)// Set the number of decimals for the tick labels
.tickLabelLocation(TickLabelLocation.INSIDE)// Define wether the tick labels should be inside or outside the scale (INSIDE, OUTSIDE)
.tickLabelOrientation(TickLabelOrientation.ORTHOGONAL)// Define the orientation of the tick labels (ORTHOGONAL, HORIZONTAL, TANGENT)
.onlyFirstAndLastTickLabelVisible(false)// Define if only the first and last tick label should be visible
.tickLabelSectionsVisible(false)// Define if sections for tick labels should be visible
.tickLabelSections(section1,section2)// Define sections to color tick labels
.tickLabelColor(Color.BLACK)// Define the color for tick labels (overriden by tick label sections)
// Related to Tick Marks
.tickMarkSectionsVisible(false)// Define if sections for tick marks should be visible
.tickMarkSections(section1,section2)// Define sections to color tick marks
// Related to Major Tick Marks
.majorTickMarksVisible(true)// Define if major tick marks should be visible
.majorTickMarkType(TickMarkType.TRAPEZOID)// Define the tick mark type for major tick marks (LINE, DOT, TRAPEZOID, TICK_LABEL)
// Related to Medium Tick Marks
.mediumTickMarksVisible(false)// Define if medium tick marks should be visible
.mediumTickMarkType(TickMarkType.LINE)// Define the tick mark type for medium tick marks (LINE, DOT, TRAPEZOID)
// Related to Minor Tick Marks
.minorTickMarksVisible(true)// Define if minor tick marks should be visible
.minorTickMarkType(TickMarkType.LINE)// Define the tick mark type for minor tick marks (LINE, DOT, TRAPEZOID)
// Related to LED
.ledVisible(false)// Defines if the LED should be visible
.ledType(Gauge.LedType.STANDARD)// Defines the type of the LED (STANDARD, FLAT)
.ledColor(Color.rgb(255,200,0))// Defines the color of the LED
.ledBlinking(false)// Defines if the LED should blink
// Related to Needle
.needleShape(Gauge.NeedleShape.ANGLED)// Defines the shape of the needle (ANGLED, ROUND, FLAT)
.needleSize(Gauge.NeedleSize.STANDARD)// Defines the size of the needle (THIN, STANDARD, THICK)
.needleColor(Color.CRIMSON)// Defines the color of the needle
// Related to Needle behavior
.startFromZero(false)// Defines if the needle should start from the 0 value
.returnToZero(false)// Defines if the needle should always return to the 0 value (only makes sense when animated==true)
// Related to Knob
.knobType(Gauge.KnobType.METAL)// Defines the type for the center knob (STANDARD, PLAIN, METAL, FLAT)
.knobColor(Color.LIGHTGRAY)// Defines the color that should be used for the center knob
.interactive(false)// Defines if it should be possible to press the center knob
.onButtonPressed(buttonEvent->System.out.println("Knob pressed"))// Defines a handler that will be triggered when the center knob was pressed
.onButtonReleased(buttonEvent->System.out.println("Knob released"))// Defines a handler that will be triggered when the center knob was released
// Related to Threshold
.thresholdVisible(true)// Defines if the threshold indicator should be visible
.threshold(50)// Defines the value for the threshold
.thresholdColor(Color.RED)// Defines the color for the threshold
.checkThreshold(true)// Defines if each value should be checked against the threshold
.onThresholdExceeded(thresholdEvent->System.out.println("Threshold exceeded"))// Defines a handler that will be triggered if checkThreshold==true and the threshold is exceeded
.onThresholdUnderrun(thresholdEvent->System.out.println("Threshold underrun"))// Defines a handler that will be triggered if checkThreshold==true and the threshold is underrun
// Related to Gradient Bar
.gradientBarEnabled(true)// Defines if a gradient filled bar should be visible to visualize a range
.gradientBarStops(newStop(0.0,Color.BLUE),// Defines a conical color gradient that will be use to color the gradient bar
newStop(0.25,Color.CYAN),
newStop(0.5,Color.LIME),
newStop(0.75,Color.YELLOW),
newStop(1.0,Color.RED))
// Related to Markers
.markersVisible(true)// Defines if markers will be visible
.markers(marker1,marker2)// Defines markers that will be drawn
// Related to Value
.animated(true)// Defines if the needle will be animated
.animationDuration(500)// Defines the speed of the needle in milliseconds (10 - 10000 ms)