From 25bb48704820b1ef85ab8a2b7e25a48f295c9a43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A4sp=C3=A4=20Vili=20Valtteri?= <vili.v.laspa@student.jyu.fi> Date: Wed, 5 Mar 2025 17:11:29 +0200 Subject: [PATCH] =?UTF-8?q?Alustava=20liikken=20lis=C3=A4ys=20lis=C3=A4tty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- puntti/src/fxPuntti/PunttiGUIController.java | 76 +++++++++++++++++++- puntti/src/fxPuntti/PunttiGUIView.fxml | 2 +- puntti/src/fxPuntti/PunttiMain.java | 6 ++ puntti/src/puntti/Liike.java | 12 +++- puntti/src/puntti/Puntti.java | 5 +- 5 files changed, 92 insertions(+), 9 deletions(-) diff --git a/puntti/src/fxPuntti/PunttiGUIController.java b/puntti/src/fxPuntti/PunttiGUIController.java index 0752407..37c2e0a 100644 --- a/puntti/src/fxPuntti/PunttiGUIController.java +++ b/puntti/src/fxPuntti/PunttiGUIController.java @@ -1,8 +1,16 @@ package fxPuntti; +import java.net.URL; +import java.util.ResourceBundle; + import fi.jyu.mit.fxgui.Dialogs; +import fi.jyu.mit.fxgui.ListChooser; import fi.jyu.mit.fxgui.ModalController; import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import puntti.Liike; +import puntti.Puntti; +import puntti.SailoException; /** @@ -10,10 +18,17 @@ import javafx.fxml.FXML; * @version 20.1.2025 * */ -public class PunttiGUIController { +public class PunttiGUIController implements Initializable{ + + @FXML private ListChooser<Liike> chooserLiikkeet; + @Override + public void initialize(URL url, ResourceBundle bundle) { + alusta(); + } + @FXML void handleDefaultTallenna() { Dialogs.showMessageDialog("Ei osata vielä tallentaa"); } @@ -36,13 +51,28 @@ public class PunttiGUIController { } @FXML void handleDefaultUusiLiike() { - ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiLiikeGUIView.fxml"), "Liike", null, ""); + //ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiLiikeGUIView.fxml"), "Liike", null, ""); + uusiLiike(); } @FXML private void handleUusiTulos() { ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiTulosGUIView.fxml"), "Tulos", null, ""); } + //___________________________________________________________________ ALLE JAVA + + + + + /** + * puntti mitä käytetään + */ + private Puntti puntti; + + + private void alusta() { + chooserLiikkeet.clear(); + } private void lueTiedosto(@SuppressWarnings("unused") String nimi) { // punttinimi = nimi; @@ -61,7 +91,47 @@ public class PunttiGUIController { lueTiedosto(uusinimi); return true; } - // TODO + + + + /** + * Asetetaan käytettävä puntti + * @param puntti jota käytetään + */ + public void setPuntti(Puntti puntti) { + this.puntti = puntti; + + } + + + private void hae(int lid) { + chooserLiikkeet.clear(); + + int index = 0; + for (int i=0; i < puntti.getLiikkeita(); i++) { + Liike liike = puntti.annaLiike(i); + if(liike.getLid() == lid) index = i; + chooserLiikkeet.add(""+liike.getNimi(), liike); + } + chooserLiikkeet.setSelectedIndex(index); + + } + + + /** + * Lisätään Punttiin uusi liike + */ + private void uusiLiike() { + Liike uusi = new Liike(); + uusi.lisaaLiike(); + uusi.taytaKyykky(); + try { + puntti.lisaa(uusi); + } catch (SailoException e) { + Dialogs.showMessageDialog("Ounou ongelma lisätessä liikettä" + e.getMessage()); + } + hae(uusi.getLid()); + } diff --git a/puntti/src/fxPuntti/PunttiGUIView.fxml b/puntti/src/fxPuntti/PunttiGUIView.fxml index 8d5b0dc..0e21fda 100644 --- a/puntti/src/fxPuntti/PunttiGUIView.fxml +++ b/puntti/src/fxPuntti/PunttiGUIView.fxml @@ -116,7 +116,7 @@ <left> <BorderPane maxWidth="160.0" minHeight="100.0" prefHeight="200.0" prefWidth="138.0" BorderPane.alignment="CENTER"> <center> - <ListChooser rivit="Penkkipunnerrus Pystypunnerrus Kyykky Maastaveto Leuanveto Rinnalleveto Tempaus Etukyykky " BorderPane.alignment="CENTER" /> + <ListChooser fx:id="chooserLiikkeet" rivit="Penkkipunnerrus Pystypunnerrus Kyykky Maastaveto Leuanveto Rinnalleveto Tempaus Etukyykky " BorderPane.alignment="CENTER" /> </center> <top> <VBox BorderPane.alignment="CENTER"> diff --git a/puntti/src/fxPuntti/PunttiMain.java b/puntti/src/fxPuntti/PunttiMain.java index ad95f75..32eab0d 100644 --- a/puntti/src/fxPuntti/PunttiMain.java +++ b/puntti/src/fxPuntti/PunttiMain.java @@ -3,6 +3,7 @@ package fxPuntti; import javafx.application.Application; import javafx.application.Platform; import javafx.stage.Stage; +import puntti.Puntti; import javafx.scene.Scene; import javafx.scene.layout.Pane; import javafx.fxml.FXMLLoader; @@ -28,6 +29,11 @@ public class PunttiMain extends Application { scene.getStylesheets().add(getClass().getResource("puntti.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.setTitle("Puntti"); + + + Puntti puntti = new Puntti(); + punttiCtrl.setPuntti(puntti); + primaryStage.show(); if ( !punttiCtrl.avaa() ) Platform.exit(); } catch(Exception e) { diff --git a/puntti/src/puntti/Liike.java b/puntti/src/puntti/Liike.java index 752eaf3..fbcdfb0 100644 --- a/puntti/src/puntti/Liike.java +++ b/puntti/src/puntti/Liike.java @@ -89,7 +89,7 @@ public class Liike { * täyttää liikkeen tiedot */ public void taytaKyykky() { - liike = "Kyykky"; + liike = "Kyykky" + ErilaisetArvonnat.arvontaS(1,20); oteLeveys = ErilaisetArvonnat.arvontaL(); stoppi = ErilaisetArvonnat.arvontaS(1,10); syvyys = "Syvä"; @@ -105,6 +105,13 @@ public class Liike { return lid; } + /** + * @return liikkeen nimi + */ + public String getNimi() { + return this.liike; + } + /** @@ -129,5 +136,8 @@ public class Liike { } + + + } diff --git a/puntti/src/puntti/Puntti.java b/puntti/src/puntti/Puntti.java index 09978fe..beab5db 100644 --- a/puntti/src/puntti/Puntti.java +++ b/puntti/src/puntti/Puntti.java @@ -73,10 +73,7 @@ public class Puntti { try { puntti.lisaa(kyykky); puntti.lisaa(kyykky2); - puntti.lisaa(kyykky); - puntti.lisaa(kyykky2); - puntti.lisaa(kyykky); - puntti.lisaa(kyykky2); + } catch (SailoException e) { System.err.println(e.getMessage()); -- GitLab