Skip to content
Snippets Groups Projects
Commit 05bb85c8 authored by jokayli's avatar jokayli
Browse files

Lisätty tulokset luokka, ja tulokset Kayttajan tietoihin

parent a4891b7d
No related branches found
No related tags found
No related merge requests found
package fxPadelRekisteri;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ListChooser;
import fi.jyu.mit.fxgui.TextAreaOutputStream;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextArea;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.text.Font;
import padelRekisteri.Kayttaja;
import padelRekisteri.Tulos;
import java.io.PrintStream;
import java.net.URL;
import java.util.ResourceBundle;
/**
* @author joona
......@@ -26,7 +37,14 @@ public class PadelRekisteriGUIController extends ViewChangeHandler {
Dialogs.showMessageDialog("Ei osata jarjestaa");
}
@FXML
private BorderPane panelTulos;
@FXML
private ListChooser<Tulos> chooserTulokset;
private Kayttaja kayttaja;
private Tulos valittuTulos;
private TextArea areaTulos = new TextArea();
/**
*
......@@ -45,4 +63,37 @@ public class PadelRekisteriGUIController extends ViewChangeHandler {
public Kayttaja getKayttaja() {
return kayttaja;
}
/**
* Tekee tarvittavat muut alustukset, nyt vaihdetaan GridPanen tilalle
* yksi iso tekstikenttä, johon voidaan tulostaa jäsenten tiedot.
* Alustetaan myös jäsenlistan kuuntelija
*/
public void alusta() {
panelTulos.setCenter(areaTulos);
areaTulos.setFont(new Font("Courier New", 12));
chooserTulokset.clear();
chooserTulokset.addSelectionListener(e -> naytaTulos());
haeTulokset();
}
/**
* Näyttää valitun hallin tiedot
*/
protected void naytaTulos() {
valittuTulos = chooserTulokset.getSelectedObject();
if (valittuTulos == null) return;
areaTulos.setText("");
try (PrintStream os = TextAreaOutputStream.getTextPrintStream(areaTulos)) {
valittuTulos.tulosta(os);
}
}
protected void haeTulokset() {
kayttaja.getTulokset().iterator().forEachRemaining(tulos -> {
chooserTulokset.add(tulos.getTulokset(), tulos);
});
}
}
\ No newline at end of file
......@@ -32,8 +32,10 @@ public class PadelRekisteriMain extends Application {
if (!padelrekisteriCtrl.avaa()) { Platform.exit(); }
Kayttaja k = new Kayttaja();
k.getHallit().lueTiedostosta();
k.getTulokset().lueTiedostosta();
padelrekisteriCtrl.setKayttaja(k);
controller = padelrekisteriCtrl;
padelrekisteriCtrl.alusta();
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -35,7 +35,9 @@ public class Hallit implements Luettava<Halli> {
* @return Hallin
*/
public Halli etsi(int id) {
for (Halli h : hallit) {
Iterator<Halli> it = iterator();
while (it.hasNext()) {
Halli h = it.next();
if (h.getId() == id) {
return h;
}
......
......@@ -18,6 +18,7 @@ public class Kayttaja implements Luettava<Kayttaja> {
private Hallit hallit = new Hallit();
private Tulokset tulokset = new Tulokset();
public void asetaTestiArvot() {
Random rand = new Random();
......@@ -63,9 +64,19 @@ public class Kayttaja implements Luettava<Kayttaja> {
hallit.lisaa(halli);
}
/**
* Lisaa tuloksen käyttäjän tietoihin
*/
public void lisaaTulos(Tulos tulos) {
tulokset.lisaa(tulos);
}
public Hallit getHallit() {
return hallit;
}
public Tulokset getTulokset() {
return tulokset;
}
public String getNimi() {
return nimi;
......
package padelRekisteri;
import java.util.ArrayList;
import java.util.Iterator;
public class Tulokset implements Luettava<Tulos> {
private ArrayList<Tulos> tulokset = new ArrayList<>();
public void lisaa(Tulos t) {
tulokset.add(t);
}
public Iterator<Tulos> iterator() {
return tulokset.iterator();
}
/**
* Lukee hallien tiedot tiedostosta ja lisää ne tietoihin
* TODO: lue tiedostosta, nyt vain luodaan testidataa
*/
public ArrayList<Tulos> lueTiedostosta() {
for (int i = 0; i < 5; i++) {
Tulos t = new Tulos();
t.asetaTestiArvot();
tulokset.add(t);
}
return (ArrayList<Tulos>) tulokset;
}
/**
* Etsii hallin annetun id:n perusteella
* @param id
* @return Tulos
*/
public Tulos etsi(int id) {
Iterator<Tulos> it = iterator();
while (it.hasNext()) {
Tulos t = it.next();
if (t.getId() == id) {
return t;
}
}
return null;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment