Speedometer Draws on Public Attributes
With JavaFX technology, you can easily build your own customizable speedometer by using simple graphics operation and binding.
Understanding the Code
The following code in Figure 1 creates a speedometer. The speedometer component changing a few settings, for example, color, time.
Source Code
package speedometer;
import javafx.scene.CustomNode;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.paint.Paint;
import javafx.scene.shape.Arc;
import javafx.scene.shape.ArcType;
import javafx.scene.shape.ShapeSubtract;
public class TubePart extends CustomNode {
public var sAngle = 0.0;
public var len = 0.0;
public var col: Paint;
public override function create(): Node {
return Group {
content: [
ShapeSubtract {
fill: col
a: Arc {
centerX: 200,
centerY: 200
radiusX: 100,
radiusY: 100
startAngle: sAngle - 60,
length: len
type: ArcType.ROUND
},
b: Arc {
centerX: 200,
centerY: 200
radiusX: 60,
radiusY: 60
startAngle: sAngle - 60,
length: len
type: ArcType.ROUND
},
}
]
};
}
}
Figure 1: TubePart.fx Class
Figure 2 shows the changed color in SpeedoMeter.
Figure 2: Different Color SpeedoMeter
Vaibhav Choudhary