FinestraTrovaAltoBasso
This commit is contained in:
@@ -4,10 +4,88 @@
|
||||
*/
|
||||
package gradeanalyzer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import com.googlecode.lanterna.TerminalSize;
|
||||
import com.googlecode.lanterna.graphics.Scrollable;
|
||||
import com.googlecode.lanterna.gui2.BasicWindow;
|
||||
import com.googlecode.lanterna.gui2.Button;
|
||||
import com.googlecode.lanterna.gui2.Direction;
|
||||
import com.googlecode.lanterna.gui2.EmptySpace;
|
||||
import com.googlecode.lanterna.gui2.GridLayout;
|
||||
import com.googlecode.lanterna.gui2.Label;
|
||||
import com.googlecode.lanterna.gui2.LinearLayout;
|
||||
import com.googlecode.lanterna.gui2.Panel;
|
||||
import com.googlecode.lanterna.gui2.TextBox;
|
||||
import com.googlecode.lanterna.gui2.TextGUIGraphics;
|
||||
import com.googlecode.lanterna.gui2.Window;
|
||||
import com.googlecode.lanterna.gui2.table.Table;
|
||||
import com.googlecode.lanterna.gui2.table.TableCellRenderer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Verde
|
||||
*/
|
||||
public class FinestraTrovaAltoBasso {
|
||||
public class FinestraTrovaAltoBasso extends BasicWindow {
|
||||
public FinestraTrovaAltoBasso() {
|
||||
|
||||
super("Trova voto più alto e più basso");
|
||||
ArrayList<Window.Hint> windowHints = new ArrayList<>();
|
||||
windowHints.add(Window.Hint.CENTERED);
|
||||
this.setHints(windowHints);
|
||||
|
||||
if (GradeAnalyzer.isEmpty) {
|
||||
GlobalGUI.showErrorMessage("Inserire almeno la valutazione di uno studente prima di proseguire.");
|
||||
this.close();
|
||||
} else {
|
||||
if (!GradeAnalyzer.isSaved) {
|
||||
GlobalGUI.showNoteMessage("Ci sono dati non salvati.");
|
||||
GlobalGUI.salvaValutazioni();
|
||||
}
|
||||
Panel contenutoFinestra = new Panel(new LinearLayout(Direction.VERTICAL));
|
||||
Panel pannelloMigliorePeggiore = new Panel(new GridLayout(2));
|
||||
Panel pannelloValutazioniOrdinate = new Panel(new LinearLayout(Direction.VERTICAL));
|
||||
|
||||
ArrayList<Valutazione> copiaValutazioni = new ArrayList<>();
|
||||
for (Valutazione valutazione : GradeAnalyzer.valutazioni) {
|
||||
copiaValutazioni.add(valutazione);
|
||||
}
|
||||
String[] nomi = new String[GradeAnalyzer.valutazioni.size()];
|
||||
String[] cognomi = new String[GradeAnalyzer.valutazioni.size()];
|
||||
double[] voti = new double[GradeAnalyzer.valutazioni.size()];
|
||||
|
||||
Collections.sort(copiaValutazioni);
|
||||
|
||||
for (int i = 0; i < copiaValutazioni.size(); i++) {
|
||||
nomi[i] = copiaValutazioni.get(i).getNome();
|
||||
cognomi[i] = copiaValutazioni.get(i).getCognome();
|
||||
voti[i] = copiaValutazioni.get(i).getVoto();
|
||||
}
|
||||
|
||||
pannelloMigliorePeggiore.addComponent(new Label("Voto migliore: "));
|
||||
pannelloMigliorePeggiore.addComponent(
|
||||
new Label(Double.toString(voti[voti.length - 1])));
|
||||
pannelloMigliorePeggiore.addComponent(new Label("Voto peggiore: "));
|
||||
pannelloMigliorePeggiore.addComponent(new Label(Double.toString(voti[0])));
|
||||
|
||||
// ---- Creazione tabella ----
|
||||
Table<String> tabellaVoti = new Table<>("Nome", "Cognome", "Voto");
|
||||
tabellaVoti.setPreferredSize(new TerminalSize(50, 10)); // larghezza 50, altezza 10
|
||||
|
||||
for (int i = 0; i < copiaValutazioni.size(); i++) {
|
||||
tabellaVoti.getTableModel().addRow(nomi[i], cognomi[i], Double.toString(voti[i]));
|
||||
}
|
||||
pannelloValutazioniOrdinate.addComponent(tabellaVoti);
|
||||
|
||||
contenutoFinestra.addComponent(pannelloMigliorePeggiore);
|
||||
contenutoFinestra.addComponent(new EmptySpace());
|
||||
contenutoFinestra.addComponent(new Label("Tutte le valutazioni, in ordine crescente:"));
|
||||
contenutoFinestra.addComponent(new EmptySpace());
|
||||
contenutoFinestra.addComponent(pannelloValutazioniOrdinate);
|
||||
contenutoFinestra.addComponent(new Button("Indietro", this::close));
|
||||
|
||||
this.setComponent(contenutoFinestra);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user