/** * Aktiviert oder deaktiviert die Buttons, für deren Funktionen eine Wahl verfügbar sein muss * * @param b gibt an, ob die Buttons aktiv sein sollen */ protected void buttonsAktiv(boolean b) { berechnungsOptionen.setEnabled(b); einstellungen.setEnabled(b); exportieren.setEnabled(b); generieren.setEnabled(b); modifikation.setEnabled(b); zwischenergebnis.setEnabled(b); wahlenVergleichen.setEnabled(gui.anzahlWahlen() > 1); }
/** Erstellt eine Vergleichsansicht. */ protected void vergleicheWahlen() { int i = gui.anzahlWahlen(); Bundestagswahl[] wahlen = gui.getWahlen(); List<Partei> parteienListe = new LinkedList<>(); for (int j = 0; j < wahlen.length; j++) { Iterator<Partei> parteienIterator = wahlen[j].eingezogeneParteien().iterator(); while (parteienIterator.hasNext()) { Partei partei = parteienIterator.next(); Iterator<Partei> plistIterator = parteienListe.iterator(); boolean fehlt = true; while (plistIterator.hasNext() && fehlt) { Partei parteiInListe = plistIterator.next(); if (partei.getName().equals(parteiInListe.getName())) { fehlt = false; } } if (fehlt) { parteienListe.add(partei); } } } boolean parteilose = false; for (int j = 0; j < wahlen.length && !parteilose; j++) { if (wahlen[j].getParteiloseMandatstraeger() != 0) { parteilose = true; parteienListe.add(new Partei("Parteilose")); } } Collections.sort(parteienListe); JFrame frame = new JFrame(); frame.setPreferredSize(new Dimension(800, 400)); JTabbedPane tabs = new JTabbedPane(); if (i == 2) { Bundestagswahl wahl1 = wahlen[0]; Bundestagswahl wahl2 = wahlen[1]; tabs.add("Stabdiagramm", new ZweiWahlenStabdiagrammAnsicht(wahl1, wahl2, parteienListe)); tabs.add("Tabelle", new ZweiWahlenTabellenAnsicht(wahl1, wahl2, parteienListe)); } else { tabs.add("Tabellenansicht", new NWahlenTabellenAnsicht(wahlen, parteienListe)); tabs.add( "Wahlstabdiagrammansicht", new NWahlenWahlStabdiagrammAnsicht(wahlen, parteienListe)); } frame.add(tabs); setVisible(true); frame.setMinimumSize(new Dimension(900, 300)); frame.setPreferredSize(new Dimension(1000, 600)); frame.pack(); frame.setVisible(true); }