Methode | Beschreibung |
Thermometer(int x, int y, int width, int height, int min, int max) | Erstellt ein neues Thermometer mit der spezifizierten Größe an den angegebenen Koordinaten. Die Parameter min und max geben den Wertebereich vor. |
setCaption(String captionMin, String captionMax) | Ändert die Beschriftung des Thermometers. Hier können Strings für den minimalen und den maximalen Messwert angegeben werden, diese werden rechts unten und rechts oben der Skala gezeichnet. |
setNumericDisplay(int digits, int decimals, String unit) | Mittels dieser Methode kann die alphanumerische Messwertanzeige konfiguriert werden. Der Parameter digits definiert die Anzahl der anzuzeigenden Stellen. Der Parameter decimals bestimmt, wieviele Nachkommanstellen angezeigt werden sollen (diese sind im Wert von digits enthalten). Beispiel: digits=4 und decimals=3 ergibt die Zahlendarstellung: x,xxx . Im Fall decimals=0 wird kein Komma eingefügt. Der String unit schließlich gibt die Einheit der Messwerte an (z.B. "V"). |
setValue(int value) | Übergibt einen neuen Messwert an das Thermometer , welches daraufhin aktualisiert wird. Liegt der Wert von value außerhalb des Wertebereichs, so wird er entsprechend durch den minimal, bzw. maximal anzeigbaren Wert ersetzt. |
1 | import jcontrol.lang.Math; |
2 | import jcontrol.lang.ThreadExt; |
3 | import jcontrol.ui.vole.Border; |
4 | import jcontrol.ui.vole.Container; |
5 | import jcontrol.ui.vole.Frame; |
6 | import jcontrol.ui.vole.Label; |
7 | import jcontrol.ui.vole.meter.Thermometer; |
8 | |
9 | /** |
10 | * <p>This example demonstrates how to use the |
11 | * component Thermometer within the GUI framework |
12 | * JControl/Vole.</p> |
13 | * |
14 | * <p>(C) DOMOLOGIC Home Automation GmbH 2003-2005</p> |
15 | */ |
16 | public class VoleThermometerExample extends Frame { |
17 | Thermometer tm1, tm2; |
18 | |
19 | /** |
20 | * Create three AnalogMeters with different configurations. |
21 | */ |
22 | public VoleThermometerExample() { |
23 | Container container = new Container(); |
24 | jcontrol.io.Backlight.setBrightness(255); |
25 | |
26 | // create the first Thermometer |
27 | // |
28 | // NOTE: The String "\u00b0" hereby represents the |
29 | // UTF8 version of the 'degree' character |
30 | tm1 = new Thermometer(8, 10, 50, 45, 0, 400); |
31 | tm1.setNumericDisplay(5, 1, "\u00b0C"); |
32 | tm1.setCaption("0\u00b0C", "+40\u00b0C"); |
33 | |
34 | container.add(tm1); |
35 | container.add(new Label("Inside Temp.", 8, 55, 50, 8, |
36 | Label.ALIGN_CENTER)); |
37 | |
38 | // create the second Thermometer |
39 | // |
40 | // NOTE: The String "\u00b0" hereby represents the |
41 | // UTF8 version of the 'degree' character |
42 | tm2 = new Thermometer(68, 10, 50, 45, -300, 500); |
43 | tm2.setNumericDisplay(5, 1, "\u00b0C"); |
44 | tm2.setCaption("-30\u00b0C", "+50\u00b0C"); |
45 | |
46 | container.add(tm2); |
47 | container.add(new Label("Outside Temp.", 68, 55, 50, 8, |
48 | Label.ALIGN_CENTER)); |
49 | |
50 | // add a border |
51 | container.add(new Border("Thermometers", 0, 0, 128, 64)); |
52 | |
53 | // add the container to the frame |
54 | this.add(container); |
55 | |
56 | // make us visible |
57 | show(); |
58 | |
59 | // create some random values |
60 | for (;;) { |
61 | tm1.setValue(Math.rnd(400)); |
62 | tm2.setValue(Math.rnd(800)-300); |
63 | |
64 | try { |
65 | ThreadExt.sleep(1000); |
66 | } catch (InterruptedException e) {} |
67 | } |
68 | } |
69 | |
70 | // Instantiate and show the VoleAnalogMeterExample |
71 | public static void main(String[] args) { |
72 | new VoleThermometerExample(); |
73 | } |
74 | } |