FinestraPromossi
This commit is contained in:
@@ -10,7 +10,6 @@ import com.googlecode.lanterna.gui2.BasicWindow;
|
|||||||
import com.googlecode.lanterna.gui2.Button;
|
import com.googlecode.lanterna.gui2.Button;
|
||||||
import com.googlecode.lanterna.gui2.Direction;
|
import com.googlecode.lanterna.gui2.Direction;
|
||||||
import com.googlecode.lanterna.gui2.EmptySpace;
|
import com.googlecode.lanterna.gui2.EmptySpace;
|
||||||
import com.googlecode.lanterna.gui2.Label;
|
|
||||||
import com.googlecode.lanterna.gui2.LinearLayout;
|
import com.googlecode.lanterna.gui2.LinearLayout;
|
||||||
import com.googlecode.lanterna.gui2.Panel;
|
import com.googlecode.lanterna.gui2.Panel;
|
||||||
import com.googlecode.lanterna.gui2.Window;
|
import com.googlecode.lanterna.gui2.Window;
|
||||||
@@ -34,7 +33,7 @@ public class FinestraPrincipale extends BasicWindow {
|
|||||||
() -> GlobalGUI.getGui().addWindowAndWait(new FinestraInserisciAlunno())));
|
() -> GlobalGUI.getGui().addWindowAndWait(new FinestraInserisciAlunno())));
|
||||||
contenutoFinestra.addComponent(new MenuItem("Trova voto più alto e più basso",
|
contenutoFinestra.addComponent(new MenuItem("Trova voto più alto e più basso",
|
||||||
() -> GlobalGUI.getGui().addWindowAndWait(new FinestraTrovaAltoBasso())));
|
() -> GlobalGUI.getGui().addWindowAndWait(new FinestraTrovaAltoBasso())));
|
||||||
contenutoFinestra.addComponent(new MenuItem("Promossi", () -> openWindow("Promossi", "Questa è la finestra.")));
|
contenutoFinestra.addComponent(new MenuItem("Promossi", () -> GlobalGUI.getGui().addWindowAndWait(new FinestraPromossi())));
|
||||||
|
|
||||||
contenutoFinestra.addComponent(new EmptySpace());
|
contenutoFinestra.addComponent(new EmptySpace());
|
||||||
|
|
||||||
@@ -47,16 +46,4 @@ public class FinestraPrincipale extends BasicWindow {
|
|||||||
|
|
||||||
this.setComponent(contenutoFinestra);
|
this.setComponent(contenutoFinestra);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void openWindow(String title, String text) {
|
|
||||||
BasicWindow window = new BasicWindow(title);
|
|
||||||
|
|
||||||
Panel panel = new Panel(new LinearLayout(Direction.VERTICAL));
|
|
||||||
panel.addComponent(new Label(text));
|
|
||||||
panel.addComponent(new Button("Chiudi", window::close));
|
|
||||||
|
|
||||||
window.setComponent(panel);
|
|
||||||
|
|
||||||
GlobalGUI.getGui().addWindow(window);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -4,10 +4,74 @@
|
|||||||
*/
|
*/
|
||||||
package gradeanalyzer;
|
package gradeanalyzer;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import com.googlecode.lanterna.TerminalSize;
|
||||||
|
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.Window;
|
||||||
|
import com.googlecode.lanterna.gui2.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Verde
|
* @author Verde
|
||||||
*/
|
*/
|
||||||
public class FinestraPromossi {
|
public class FinestraPromossi extends BasicWindow {
|
||||||
|
public FinestraPromossi() {
|
||||||
|
|
||||||
|
super("Promossi");
|
||||||
|
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));
|
||||||
|
|
||||||
|
final int MINIMO_PROMOZIONE = 6;
|
||||||
|
ArrayList<Valutazione> promossi = new ArrayList<>();
|
||||||
|
ArrayList<Valutazione> copiaValutazioni = new ArrayList<>();
|
||||||
|
for (Valutazione valutazione : GradeAnalyzer.valutazioni) {
|
||||||
|
copiaValutazioni.add(valutazione);
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(copiaValutazioni);
|
||||||
|
|
||||||
|
for (Valutazione valutazione : copiaValutazioni) {
|
||||||
|
if (valutazione.getVoto() >= MINIMO_PROMOZIONE) {
|
||||||
|
promossi.add(valutazione);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- 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 < promossi.size(); i++) {
|
||||||
|
tabellaVoti.getTableModel().addRow(promossi.get(i).getNome(), promossi.get(i).getCognome(), Double.toString(promossi.get(i).getVoto()));
|
||||||
|
}
|
||||||
|
|
||||||
|
GradeAnalyzer.salva(promossi, GradeAnalyzer.PATH_PROMOSSI);
|
||||||
|
|
||||||
|
contenutoFinestra.addComponent(new Label("Tutte le valutazioni dei promossi, in ordine crescente:"));
|
||||||
|
contenutoFinestra.addComponent(new EmptySpace());
|
||||||
|
contenutoFinestra.addComponent(tabellaVoti);
|
||||||
|
contenutoFinestra.addComponent(new Button("Indietro", this::close));
|
||||||
|
|
||||||
|
this.setComponent(contenutoFinestra);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -291,7 +291,7 @@ public class GradeAnalyzer {
|
|||||||
return messaggio;
|
return messaggio;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void trovaMigliorePeggiore() {
|
/* static void trovaMigliorePeggiore() {
|
||||||
ArrayList<Valutazione> copiaValutazioni = new ArrayList<>();
|
ArrayList<Valutazione> copiaValutazioni = new ArrayList<>();
|
||||||
for (Valutazione valutazione : valutazioni) {
|
for (Valutazione valutazione : valutazioni) {
|
||||||
copiaValutazioni.add(valutazione);
|
copiaValutazioni.add(valutazione);
|
||||||
@@ -319,7 +319,7 @@ public class GradeAnalyzer {
|
|||||||
for (int i = 0; i < nomi.length; i++) {
|
for (int i = 0; i < nomi.length; i++) {
|
||||||
System.out.println(String.format(stringaFormattazione, nomi[i], cognomi[i], Double.toString(voti[i])));
|
System.out.println(String.format(stringaFormattazione, nomi[i], cognomi[i], Double.toString(voti[i])));
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
static void promossi() {
|
static void promossi() {
|
||||||
final int MINIMO_PROMOZIONE = 6;
|
final int MINIMO_PROMOZIONE = 6;
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
Mario;Rossi;7
|
Mario;Rossi;7.0
|
||||||
Anna;Bianchi;5
|
Anna;Bianchi;5.0
|
||||||
Luca;Verdi;6
|
Luca;Verdi;6.0
|
||||||
Mia;Chan;9
|
Mia;Chan;9.0
|
||||||
|
stefano;okaka;7.0
|
||||||
|
toto;dinatale;2.0
|
||||||
|
Bogdan;Agiorgiuculesi;5.0
|
||||||
|
|||||||
Reference in New Issue
Block a user