From d5bb755fa0c374304c346896ff5a5dfaae0e5bf9 Mon Sep 17 00:00:00 2001 From: koallaht <koallaht@jyu.fi> Date: Fri, 21 Feb 2025 22:33:21 +0200 Subject: [PATCH] Update DynamicComboBox.java --- .../src/fi/jyu/mit/fxgui/DynamicComboBox.java | 64 +++++++++++++------ 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java b/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java index 3200a21..14164e1 100644 --- a/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java +++ b/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java @@ -1,6 +1,8 @@ package fi.jyu.mit.fxgui; +import javafx.beans.property.BooleanProperty; import javafx.beans.property.ListProperty; +import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleListProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -14,17 +16,16 @@ import javafx.scene.input.KeyEvent; import java.util.*; /** - * @author konsta lahtinen - * @version 20.2.2025 * Oma versio ComboBox containerista, sisältää haun ja uuden lisäyksen tulkinnan */ public class DynamicComboBox extends ComboBox<java.lang.String> { private final ListProperty<String> sisalto = new SimpleListProperty<>(FXCollections.observableArrayList()); - private boolean hakuPaal = true; - private boolean tutkiminen = true; /** - * Attribuutti sisalto sisältää kaiken comboxin sisällön + * Attribuutti items sisältää kaiken comboxin sisällön */ + private BooleanProperty suodattaminen = new SimpleBooleanProperty(true); + private BooleanProperty dynaaminenLisays = new SimpleBooleanProperty(true); + public DynamicComboBox() { super(); @@ -51,6 +52,11 @@ public class DynamicComboBox extends ComboBox<java.lang.String> { } + + /** + * asettaa sisältöä DynamicComboBoxiin + * tarvitaan myös scenebuilderin yhteensopivuuteen + */ @FXML public void asetaSisalto(ObservableList<String> sisalto) { this.getItems().setAll(sisalto); @@ -58,8 +64,9 @@ public class DynamicComboBox extends ComboBox<java.lang.String> { } /** - * getteri scenebuilderissa toimimista varten, palauttaa koko ListPropertyn - */ + * palauttaa sisallon ListProperty oliona + * tarivtaan myös scenebuilderiin + */ @FXML public ListProperty<String> sisaltoProperty() { return sisalto; @@ -67,30 +74,49 @@ public class DynamicComboBox extends ComboBox<java.lang.String> { /** - * getteri scenebuilderissa toimimista varten, palauttaa listPropertyn sisällön - */ + * palauttaa sisällön ObservableList oliona + * tarivtaan myös scenebuilderiin + */ @FXML public ObservableList<String> getSisalto() { return sisalto.get(); } + /** + * asettaa dynaamisen lisäyksen tilan + */ + @FXML + public void setDynaaminenLisays(boolean t) { + this.dynaaminenLisays.set(t); + } + + /** + * palauttaa dynaamisen lisäyksen tilan + */ + @FXML + public boolean getDynaaminenLisays() { + return dynaaminenLisays.get(); + } /** - * säätää laitetaanko sisällön filterointi päälle - * @param v kumpi tila + * asettaa sisällön suodattamisen tilan */ - public void filterointi(boolean v){ - this.hakuPaal = v; + @FXML + public void setSuodattaminen(boolean s) { + this.suodattaminen.set(s); } + /** - * säätää laitetaanko uuden valinnan tutkinta päälle - * @param v kumpi tila + * palauttaa sisällön suodattamisen tilan */ - public void uudenValinnanTutkinta(boolean v){ - this.tutkiminen = v; + @FXML + public boolean getSuodattaminen() { + return suodattaminen.get(); } + + /** * lisää sisältöä comboboxiin * @@ -108,7 +134,7 @@ public class DynamicComboBox extends ComboBox<java.lang.String> { * lopulliseksi tulee se tehdä itse */ private void tutkiValinta() { - if(!this.tutkiminen){ + if(!this.dynaaminenLisays.get()) { return; } java.lang.String valinta = this.getEditor().getText(); @@ -144,7 +170,7 @@ public class DynamicComboBox extends ComboBox<java.lang.String> { * Aikavaativuus kasvaa lineaarisesti, items listan kasvaessa */ private void haku(KeyEvent k) { - if (!hakuPaal){ + if (!suodattaminen.get()){ return; } //estetään hakeminen, jos painettu enter-nappia -- GitLab