diff --git a/src/HT/fx/OtteluIkkunaGUIController.java b/src/HT/fx/OtteluIkkunaGUIController.java index a2c95e9aca79ee1543945b0ac1249fad7f4a4d8a..7bedb1d46e63ec433dbb8194c4c84315b3aa9fa9 100644 --- a/src/HT/fx/OtteluIkkunaGUIController.java +++ b/src/HT/fx/OtteluIkkunaGUIController.java @@ -4,8 +4,10 @@ import fi.jyu.mit.fxgui.Dialogs; import fi.jyu.mit.fxgui.ModalController; import fi.jyu.mit.fxgui.ModalControllerInterface; import javafx.event.ActionEvent; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.Node; +import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.input.MouseEvent; import javafx.scene.layout.VBox; @@ -31,6 +33,18 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin boksi.getChildren().add(newField); } + @FXML private void lisaaNappi(VBox boksi) { + Button uusiNappi = new Button("Muokkaa"); + uusiNappi.setOnMouseClicked(new EventHandler<MouseEvent>() { + @Override + public void handle(MouseEvent arg0) { + int i = boksi.getChildren().indexOf(uusiNappi); + muokkaaOttelu(null, "kanat", i); + } + }); + boksi.getChildren().add(uusiNappi); + } + @FXML void handleLisaaOttelu() { lisaakentat(); LisaaOttelu(null, "kanat"); @@ -44,19 +58,22 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin "Lisää ottelu", modalityStage, oletus); } + public static String muokkaaOttelu(Stage modalityStage, String oletus, int i) { + return ModalController.showModal( + PadelLisaaOtteluGUIController.class.getResource("PadelLisaaOtteluGUIView.fxml"), + "Lisää ottelu", modalityStage, oletus); + } + public void lisaakentat() { lisaatekstikentta(Joukkue1VBox); lisaatekstikentta(Joukkue2VBox); - lisaatekstikentta(MuokkaaVBox); + lisaaNappi(MuokkaaVBox); lisaatekstikentta(TulosVBox); } public void SyotaTulos() { int i = 0; - int j = 0; - int k = 0; - int l = 0; Ottelu ottelu = PadelMainGUIController.getKarkelo().noudaOttelu(i); int[] numerot = ottelu.getPelaajaNrot(); @@ -75,7 +92,7 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin TextField tf = (TextField) lapsi; tf.setText(ottelu.getLopputulos()); - j++; + } } @@ -84,18 +101,10 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin TextField tf = (TextField) lapsi; tf.setText(haePelaaja(numerot[2]) + ", " + haePelaaja(numerot[3])); - k++; - } - } - - for (Node lapsi : MuokkaaVBox.getChildren()) { - if (lapsi instanceof TextField) { - //TextField tf = (TextField) lapsi; - - //tähän funktio joka luo muokkaa-napin - //l++; + } } + } public String haePelaaja(int i) { diff --git a/src/HT/fx/PadelLisaaOtteluGUIController.java b/src/HT/fx/PadelLisaaOtteluGUIController.java index 32090b6f96e3b753ae35213e4b0ab8cc2f5378ec..4c1fe207a28cc3f6609b902ec9466483c67f1cec 100644 --- a/src/HT/fx/PadelLisaaOtteluGUIController.java +++ b/src/HT/fx/PadelLisaaOtteluGUIController.java @@ -85,7 +85,7 @@ public class PadelLisaaOtteluGUIController implements ModalControllerInterface<S int PelaajaNro4 = menuOsallistuja4.getSelectedIndex(); int VoittajaNro1 = menuVoittaja1.getSelectedIndex(); int VoittajaNro2 = menuVoittaja2.getSelectedIndex(); - String lopputulos = textLopputulos.toString(); + String lopputulos = textLopputulos.getText(); Ottelu uusi = new Ottelu(otteluPvm.getValue(), PelaajaNro1, PelaajaNro2, PelaajaNro3, PelaajaNro4, VoittajaNro1, VoittajaNro2, lopputulos); diff --git a/src/HT/fx/PadelMainGUIController.java b/src/HT/fx/PadelMainGUIController.java index 67d9146ae9682c9c1ecffca2f025fa81f2f06665..cc915ea5ce6658dc56a1df9118ae4156e0ec4023 100644 --- a/src/HT/fx/PadelMainGUIController.java +++ b/src/HT/fx/PadelMainGUIController.java @@ -1,10 +1,16 @@ package HT.fx; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.OutputStream; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Scanner; import fi.jyu.mit.fxgui.Dialogs; import fi.jyu.mit.fxgui.ModalController; +import fi.jyu.mit.ohj2.Mjonot; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; @@ -53,6 +59,15 @@ public class PadelMainGUIController { } + + @FXML void handleTallenna() { + + } + + @FXML void handleHaeTiedot() { + Lukija("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot"); + } + @FXML private void lisaatekstikentta(VBox boksi) { TextField newField = new TextField(); boksi.getChildren().add(newField); @@ -92,6 +107,45 @@ public class PadelMainGUIController { "Lisää pelaaja", modalityStage, oletus); } + /** + * @param tiedNimi Lukee tiedot tietystä tiedostosta + */ + public void Lukija(String tiedNimi) { + try (Scanner fi = new Scanner(new FileInputStream(new File(tiedNimi)))) { // Jotta UTF8/ISO-8859 toimii + + + while ( fi.hasNext() ) { + String s = fi.nextLine(); + if(s.length()>1) { + lisaakentat(); + + StringBuffer sb = new StringBuffer(s); + String nimi = Mjonot.erota(sb,'|',false); + String syntymapaiva = Mjonot.erota(sb,'|',false); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d.M.yyyy"); + LocalDate synt = LocalDate.parse(syntymapaiva, formatter); + String rating = Mjonot.erota(sb,'|',false); + String sapo = Mjonot.erota(sb,'|',false); + String auto = Mjonot.erota(sb,'|',false); + boolean onkoauto = false; + if(Integer.parseInt(auto)==1) { + onkoauto = true; + } + Pelaaja uusi = new Pelaaja(nimi,synt,Integer.parseInt(rating),sapo ,onkoauto); + + LisaaPelaaja(uusi); + + } + } + } catch (FileNotFoundException ex) { + System.err.println("Tiedosto ei aukea! " + ex.getMessage()); + ex.printStackTrace(); + return; + } + syotatiedot(); + + } + /** * Lisää tarvittavat kentät kun pelaaja luodaan */ @@ -128,16 +182,16 @@ public class PadelMainGUIController { j++; } } - /* + for (Node lapsi : RatingVbox.getChildren()) { if (lapsi instanceof TextField) { TextField tf = (TextField) lapsi; - tf.setText(karkelo.annaPelaaja(n).getRating()); + tf.setText(String.valueOf(karkelo.annaPelaaja(n).getRating())); n++; } } - */ + for (Node lapsi : SapoVbox.getChildren()) { if (lapsi instanceof TextField) { TextField tf = (TextField) lapsi; @@ -240,6 +294,8 @@ public class PadelMainGUIController { LisaaPelaaja(uusi8); + + } /** diff --git a/src/HT/fx/PadelMainGUIView.fxml b/src/HT/fx/PadelMainGUIView.fxml index 1f064df59e563084b1bda997700568ee791ba486..e9f05eeb98abe76aeee91bc8f320f3119d93cebf 100644 --- a/src/HT/fx/PadelMainGUIView.fxml +++ b/src/HT/fx/PadelMainGUIView.fxml @@ -13,6 +13,8 @@ <children> <ButtonBar layoutX="200.0" layoutY="366.0" prefHeight="40.0" prefWidth="200.0" AnchorPane.bottomAnchor="-3.0" AnchorPane.leftAnchor="2.5" AnchorPane.rightAnchor="2.5"> <buttons> + <Button mnemonicParsing="false" onMouseClicked="#handleHaeTiedot" text="Hae tiedot" /> + <Button mnemonicParsing="false" onMouseClicked="#handleTallenna" text="Tallenna" /> <Button mnemonicParsing="false" onMouseClicked="#handleLisaamuokkaaottelu" text="Lisää ottelu" /> <Button mnemonicParsing="false" onMouseClicked="#handleLisaapelaaja" text="Lisää pelaaja" /> </buttons> diff --git a/src/Pelaajatiedot b/src/Pelaajatiedot new file mode 100644 index 0000000000000000000000000000000000000000..1cfbb45cabfd1d4d371e1d8fcb3c468a0acc521c --- /dev/null +++ b/src/Pelaajatiedot @@ -0,0 +1,2 @@ +Teppo Tulppu|19.5.1959|1800|tepi@gmail.com|0| +Aku Ankka|19.5.1999|1000|aku@gmail.com|1| \ No newline at end of file