giso Δημοσ. 22 Απριλίου 2018 Δημοσ. 22 Απριλίου 2018 (επεξεργασμένο) Έχω ένα ComboBox (javaFX 8.0) με 2500 items. Θέλω να δείχνει όχι τα πρώτα 10 items, αλλά το 501ο μέχρι το 510ο item. Πώς γίνεται αυτό; Επεξ/σία 24 Απριλίου 2018 από giso
Lanike71 Δημοσ. 24 Απριλίου 2018 Δημοσ. 24 Απριλίου 2018 Αυτό κάνει τη δουλειά που θες; https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ComboBox.html#itemsProperty
giso Δημοσ. 24 Απριλίου 2018 Μέλος Δημοσ. 24 Απριλίου 2018 (επεξεργασμένο) 10 ώρες πριν, Lanike71 είπε Αυτό κάνει τη δουλειά που θες; https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ComboBox.html#itemsProperty Μάλλον δεν το έθεσα σωστά το ερώτημα. Θέλω να υπάρχουν και τα 2500 στοιχεία της ObservableList<T> του CombBox. Τα 2500 στοιχεία είναι έτη. Έκανα editable το ComboBox ενσωματώνοντας φίλτρο πρόβλεψης της εισαγόμενης τιμής και έτσι περιορίζονται οι διαθέσιμες τιμές του ComboBox. Μεσοβέζικη λύση, αλλά καλύτερα από το να επιλέξεις την τιμή από 2500 τιμές που έχω στο ComboBox. Επεξ/σία 24 Απριλίου 2018 από giso
Lanike71 Δημοσ. 24 Απριλίου 2018 Δημοσ. 24 Απριλίου 2018 Δε μπορούσες κάθε φορά απλά να κλωνοποιείς τη λίστα του combobox και να τη βάζεις εσύ με τη σειρά που θες;
giso Δημοσ. 24 Απριλίου 2018 Μέλος Δημοσ. 24 Απριλίου 2018 1 ώρα πριν, Lanike71 είπε Δε μπορούσες κάθε φορά απλά να κλωνοποιείς τη λίστα του combobox και να τη βάζεις εσύ με τη σειρά που θες; Η σειρά της λίστας θέλω να είναι πάντοτε ίδια (τα έτη κατά αύξουσα σειρά). Θέλω απλά στο κέντρο του αρχικού "παράθυρου" εμφάνισης των στοιχείων της λίστας να βρίσκεται το τρέχον έτος.
Lanike71 Δημοσ. 25 Απριλίου 2018 Δημοσ. 25 Απριλίου 2018 Με λίγο ψάξιμο δε βρήκα κάτι. Πάντως θεωρώ λάθος το σκεπτικό σου το να επιλέγεις από μία λίστα 2500 αντικειμένων. Αν θέλω να επιλέξω κάτι στο τέλος της λίστας, το να σκρολλάρω θα μου πάρει περισσότερο χρόνο από το να πληκρολογήσω 4 ψηφία. Καλύτερο αυτό που γράφεις στο προηγούμενο ποστ σου με φίλτρο.
giso Δημοσ. 25 Απριλίου 2018 Μέλος Δημοσ. 25 Απριλίου 2018 3 ώρες πριν, Lanike71 είπε Με λίγο ψάξιμο δε βρήκα κάτι. Πάντως θεωρώ λάθος το σκεπτικό σου το να επιλέγεις από μία λίστα 2500 αντικειμένων. Αν θέλω να επιλέξω κάτι στο τέλος της λίστας, το να σκρολλάρω θα μου πάρει περισσότερο χρόνο από το να πληκρολογήσω 4 ψηφία. Καλύτερο αυτό που γράφεις στο προηγούμενο ποστ σου με φίλτρο. Συμφωνώ. Επειδή οι περισσότερεις επιλογές είναι κοντά στο τρέχον έτος η καλύτερη επιλογή είναι " το κέντρο του αρχικού "παράθυρου" εμφάνισης των στοιχείων της λίστας να βρίσκεται το τρέχον έτος", αλλά δε βρίσκω τρόπο να το υλοποιήσω.
Lanike71 Δημοσ. 25 Απριλίου 2018 Δημοσ. 25 Απριλίου 2018 Θα σου δώσω ένα παράδειγμα για να σε βοηθήσω. Έστω ότι κάνω ένα site και θέλω να πάρω την ηλικία του αναγνώστη σε κάποιο πεδίο. Αν υποθέσω ότι το διαβάζουν ηλικίες από 20-50, θα έβαζα αυτές τις 30 τιμές στο combobox. Επίσης θα το άφηνα ελεύθερο να συμπληρώσει κάποιος μόνος του την ηλικία. Πάντως να έβαζα από 8-108, αποκλείεται. Γιατί δε μπορείς να το κάνεις; Κλωνοποίησε τη λίστα σου και κάνε τη μικρότερη και δούλεψε τη, τι σε περιορίζει;
albNik Δημοσ. 26 Απριλίου 2018 Δημοσ. 26 Απριλίου 2018 Αν καταλαβα καλα θες να κανεις programmatically expand και scroll σε συγκεκριμένη θέση to ComboBox. Νομίζω γίνεται με τις μεθόδους showPopup() και scrollTo()
giso Δημοσ. 26 Απριλίου 2018 Μέλος Δημοσ. 26 Απριλίου 2018 22 ώρες πριν, Lanike71 είπε Θα σου δώσω ένα παράδειγμα για να σε βοηθήσω. Έστω ότι κάνω ένα site και θέλω να πάρω την ηλικία του αναγνώστη σε κάποιο πεδίο. Αν υποθέσω ότι το διαβάζουν ηλικίες από 20-50, θα έβαζα αυτές τις 30 τιμές στο combobox. Επίσης θα το άφηνα ελεύθερο να συμπληρώσει κάποιος μόνος του την ηλικία. Πάντως να έβαζα από 8-108, αποκλείεται. Γιατί δε μπορείς να το κάνεις; Κλωνοποίησε τη λίστα σου και κάνε τη μικρότερη και δούλεψε τη, τι σε περιορίζει; Η λογική να χρησιμοποιήσω ComboBox ήταν να αποκλείει λανθασμένη τιμή έτους. Φυσικά κάνοντάς editable αναγκάσθηκα να κάνω validation την εισαγώμενη τιμή. Δηλαδή κανένα πλεονέκτημα από τη χρήση ComboBox. Η καλύτερη επιλογή είναι η χρήση TextField για την εισαγωγή του έτους και validation της τιμής του. 5 ώρες πριν, albNik είπε Αν καταλαβα καλα θες να κανεις programmatically expand και scroll σε συγκεκριμένη θέση to ComboBox. Νομίζω γίνεται με τις μεθόδους showPopup() και scrollTo() Σωστά κατάλαβες albNik. Η μέθοδος showPopup() υπάρχει στη swing και εγώ χρησιμοποιώ JavaFX.
albNik Δημοσ. 26 Απριλίου 2018 Δημοσ. 26 Απριλίου 2018 τότε αυτή ; comboBox.show() https://stackoverflow.com/questions/23194074/how-to-open-combo-box-popup-in-javafx
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα