Skip to content
Snippets Groups Projects
Commit eeeb9c71 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

nimea voi muuttaa mutta ei nay viela

parent ee69ca50
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,7 @@ import javafx.fxml.Initializable; ...@@ -10,6 +10,7 @@ import javafx.fxml.Initializable;
import javafx.stage.Stage; import javafx.stage.Stage;
import kerho.Jasen; import kerho.Jasen;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.control.Label;
@SuppressWarnings("javadoc") @SuppressWarnings("javadoc")
public class JasenDialogController implements ModalControllerInterface<Jasen>, Initializable { public class JasenDialogController implements ModalControllerInterface<Jasen>, Initializable {
...@@ -18,6 +19,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I ...@@ -18,6 +19,7 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
@FXML private TextField editHetu; @FXML private TextField editHetu;
@FXML private TextField editKatuosoite; @FXML private TextField editKatuosoite;
@FXML private TextField editPostinumero; @FXML private TextField editPostinumero;
@FXML private Label labelVirhe;
@Override @Override
...@@ -27,15 +29,30 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I ...@@ -27,15 +29,30 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
@FXML private void handleOK() { @FXML private void handleOK() {
// if ( jasenKohdalla != null && jasenKohdalla.getNimi().trim().equals("") ) {
naytaVirhe("Nimi ei saa olla tyhjä");
return;
}
ModalController.closeStage(editNimi);
} }
@FXML private void handleCancel() { @FXML private void handleCancel() {
// jasenKohdalla = null;
ModalController.closeStage(editNimi);
} }
// ========================================================== // ==========================================================
private void naytaVirhe(String virhe) {
if ( virhe == null || virhe.isEmpty() ) {
labelVirhe.setText("");
labelVirhe.getStyleClass().removeAll("virhe");
return;
}
labelVirhe.setText(virhe);
labelVirhe.getStyleClass().add("virhe");
}
@Override @Override
...@@ -63,9 +80,28 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I ...@@ -63,9 +80,28 @@ public class JasenDialogController implements ModalControllerInterface<Jasen>, I
private void alusta() { private void alusta() {
edits = new TextField[]{editNimi, editHetu, editKatuosoite, editPostinumero}; edits = new TextField[]{editNimi, editHetu, editKatuosoite, editPostinumero};
editNimi.setOnKeyReleased( e -> kasitteleMuutosJaseneen(editNimi));
}
/**
* Käsitellään jäseneen tullut muutos
* @param edit muuttunut kenttä
*/
private void kasitteleMuutosJaseneen(TextField edit) {
if (jasenKohdalla == null) return;
String s = edit.getText();
String virhe = null;
virhe = jasenKohdalla.setNimi(s);
if (virhe == null) {
naytaVirhe(virhe);
} else {
naytaVirhe(virhe);
}
} }
public static void naytaJasen(TextField[] edits, Jasen jasen) { public static void naytaJasen(TextField[] edits, Jasen jasen) {
if (jasen == null) return; if (jasen == null) return;
edits[0].setText(jasen.getNimi()); edits[0].setText(jasen.getNimi());
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<bottom> <bottom>
<VBox BorderPane.alignment="CENTER"> <VBox BorderPane.alignment="CENTER">
<children> <children>
<Label maxWidth="1000.0" /> <Label fx:id="labelVirhe" maxWidth="1000.0" />
<HBox /> <HBox />
<ButtonBar prefHeight="40.0" prefWidth="200.0"> <ButtonBar prefHeight="40.0" prefWidth="200.0">
<buttons> <buttons>
......
...@@ -67,6 +67,18 @@ public class Jasen { ...@@ -67,6 +67,18 @@ public class Jasen {
} }
/**
* Asettaa nimen ja palautat virheen
* @param s uusi nimi
* @return null jos ok, muuten virhe
*/
public String setNimi(String s) {
this.nimi = s;
return null;
}
/** /**
* Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle. * Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle.
* @param apuhetu hetu joka annetaan henkilölle * @param apuhetu hetu joka annetaan henkilölle
...@@ -266,4 +278,6 @@ public class Jasen { ...@@ -266,4 +278,6 @@ public class Jasen {
aku2.tulosta(System.out); aku2.tulosta(System.out);
} }
} }
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