Viele weitere Beispielprojekt für verschiedene Anwendungen

This commit is contained in:
ngb
2022-06-19 22:26:01 +02:00
parent dc6b7ee351
commit a2d883305a
97 changed files with 2535 additions and 61 deletions

View File

@@ -0,0 +1,75 @@
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();
}
}