mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-10-12 09:56:33 +02:00
76 lines
2.1 KiB
Java
76 lines
2.1 KiB
Java
import schule.ngb.zm.Color;
|
|
import schule.ngb.zm.Zeichenmaschine;
|
|
import schule.ngb.zm.charts.*;
|
|
|
|
public class Wahlkampf extends Zeichenmaschine {
|
|
|
|
public static void main( String[] args ) {
|
|
new Wahlkampf();
|
|
}
|
|
|
|
public Wahlkampf() {
|
|
super(800, 800, "Landtagswahl 2022 in Bielefeld");
|
|
}
|
|
|
|
public void draw() {
|
|
background.setColor(240);
|
|
|
|
DatabaseConnector dbc = new DatabaseConnector("", 0, "wahlergebnisse.db", "", "");
|
|
QueryResult res;
|
|
|
|
String[] parteien = new String[]{"CDU", "SPD", "FDP", "AfD", "GRÜNE", "DIELINKE", "PIRATEN"};
|
|
Color[] farben = new Color[]{BLACK, RED, YELLOW, BLUE, GREEN, MAGENTA, ORANGE};
|
|
|
|
// Erststimmen im Bezirk
|
|
StringBuilder sb = new StringBuilder("SELECT ");
|
|
for( int i = 0; i < parteien.length; i++ ) {
|
|
sb.append("SUM(");
|
|
sb.append('"');
|
|
sb.append('D');
|
|
sb.append(i+1);
|
|
sb.append('-');
|
|
sb.append(parteien[i]);
|
|
sb.append("Erstimmen");
|
|
sb.append('"');
|
|
sb.append(')');
|
|
if( i < parteien.length-1 ) {
|
|
sb.append(',');
|
|
}
|
|
}
|
|
sb.append(" FROM \"2022_Landtagswahl\"");
|
|
|
|
dbc.executeStatement(sb.toString());
|
|
res = dbc.getCurrentQueryResult();
|
|
if( res != null ) {
|
|
String[] data = res.getData()[0];
|
|
|
|
double[] values = new double[parteien.length];
|
|
for( int i = 0; i < data.length; i++ ) {
|
|
values[i] = Double.parseDouble(data[i]);
|
|
}
|
|
RingChart chart1 = new RingChart(200, 200, 100, parteien.length);
|
|
RingChart chart2 = new RingChart(600, 200, 100, parteien.length);
|
|
RingChart chart3 = new RingChart(200, 600, 100, parteien.length);
|
|
RingChart chart4 = new RingChart(600, 600, 100, parteien.length);
|
|
|
|
double s = sum(values);
|
|
for( int i = 0; i < values.length; i++ ) {
|
|
double value = values[i];
|
|
chart1.setValue(i, value, s, parteien[i], farben[i]);
|
|
chart2.setValue(i, value, s, parteien[i], farben[i]);
|
|
chart3.setValue(i, value, s, parteien[i], farben[i]);
|
|
chart4.setValue(i, value, s, parteien[i], farben[i]);
|
|
}
|
|
|
|
chart4.setStrokeColor(200);
|
|
|
|
shapes.add(chart1, chart2, chart3, chart4);
|
|
} else {
|
|
System.err.println(dbc.getErrorMessage());
|
|
}
|
|
|
|
pause();
|
|
}
|
|
|
|
}
|