Skip to content
Snippets Groups Projects
Commit 5f5d52e0 authored by Lahtinen Konsta Aleksi's avatar Lahtinen Konsta Aleksi
Browse files

message

parent c0d8652f
No related branches found
No related tags found
No related merge requests found
......@@ -18,8 +18,10 @@ import java.util.*;
*/
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 ja toimii myös scenebuilderin kanssa yhteensopivana
* Attribuutti items sisältää kaiken comboxin sisällön
*/
public DynamicComboBox() {
......@@ -29,8 +31,9 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
this.sisalto.addListener((_, _, newValue) ->asetaSisalto(newValue) );
}
/**
* Seuraavat metodit ovat molemmat sisallon lisäämistä/asettamsita varten
*
* Seuraavat metodit ovat kaikki sisallon lisäämistä/asettamsita varten
* Huom ylikirjoittaa kaiken mikä on scenebuilderissa laitettu, jos haluat lisätä myöhemmin koodissa
* asioita käytä lisaaSisaltoa() metodia
* @param sisalto mikä merkkijono/sisalto kokoelma comboboxiin laitetaan
*/
public void asetaSisalto(String[] sisalto) {
......@@ -63,6 +66,22 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
}
/**
* säätää laitetaanko sisällön filterointi päälle
* @param v kumpi tila
*/
public void filterointi(boolean v){
this.hakuPaal = v;
}
/**
* säätää laitetaanko uuden valinnan tutkinta päälle
* @param v kumpi tila
*/
public void uudenValinnanTutkinta(boolean v){
this.tutkiminen = v;
}
/**
* lisää sisältöä comboboxiin
*
......@@ -80,6 +99,9 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
* lopulliseksi tulee se tehdä itse
*/
private void tutkiValinta() {
if(!this.tutkiminen){
return;
}
java.lang.String valinta = this.getEditor().getText();
if (valinta == null) {
return;
......@@ -105,23 +127,6 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
}
}
/**
private void sisaltoMuunnin(List<java.lang.String> items) {
if(!sisalto.isEmpty() && sisalto.getFirst() instanceof SearchableObject){
for (String item : sisalto) {
SearchableObject h = (SearchableObject) item;
items.add(h.getSearchableValue());
}
} else if (sisalto.isEmpty() && sisalto.getFirst() instanceof java.lang.String) {
for (String item : sisalto) {
java.lang.String h = (java.lang.String) item;
items.add(h);
}
}
}
*/
/**
* Metodi comboboxista etsimistä varten, Algoritmi toimii vertaamalla käyttäjän tekstiä
......@@ -130,6 +135,9 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
* Aikavaativuus kasvaa lineaarisesti, items listan kasvaessa
*/
private void haku(KeyEvent k) {
if (!hakuPaal){
return;
}
//estetään hakeminen, jos painettu enter-nappia
if (k.getCharacter().equals("\r")) {
tutkiValinta();
......@@ -146,7 +154,7 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
//käydään läpi jokainen vaihtoehto ja näytetään vain ne jotka ovat yhteensopivia
List<java.lang.String> naytettavat = new ArrayList<>();
for (java.lang.String item : sisalto) {
if (item.startsWith(hakuSana)) {
if (item.toLowerCase().startsWith(hakuSana.toLowerCase())) {
naytettavat.add(item);
}
}
......
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