J'ai plusieurs listes de lecture sidebyside. J'ai un moyen de m'assurer que le "selectedIndex" est le même sur tous, mais y a-t-il un moyen de faire en sorte que la barre de défilement soit TOUJOURS synchronisée? Il semble que les barres de défilement seront synchronisées tant que l'utilisateur utilise les touches fléchées lors de la navigation dans la liste. Cependant, si l'utilisateur ferme la touche ou utilise la souris, elles ne seront pas synchronisées du tout. .Est-il possible de synchroniser les barres de défilement dans un ListView JavaFX 1.2?
0
A
Répondre
0
Malheureusement, cela n'est pas possible, même en 1.3 il n'y a pas d'accès à la barre de défilement interne et il est également possible de configurer une barre de défilement personnalisée. Si vous le pouvez, déposez un problème avec JavaFX Runtime décrivant votre cas d'utilisation. http://javafx-jira.kenai.com
0
question ancienne, mais dans le cas où quelqu'un est intéressé: Je vais maintenant utiliser la classe ci-dessous (Testé FX2.2) pour synchroniser le défilement de 2 listviews:
package fx.scrollbars;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Orientation;
import javafx.scene.Node;
import javafx.scene.control.ListView;
import javafx.scene.control.ScrollBar;
/**
* Created by JRD on 03/03/2015.
*/
public class ScrollbarsBinding {
public static final int BIND_BIDIRECTIONAL = 3;
public static final int BIND_RIGHT_TO_LEFT = 1;
public static final int BIND_LEFT_TO_RIGHT = 2;
/**
* Bidirectional binding of 2 ListView's scrollbars.
*/
public static void bind(ListView lv1, ListView lv2) {
bind(lv1, lv2, BIND_BIDIRECTIONAL);
}
/**
* Allows binding of 2 ListView's scrollbars.
* @param lv1 left list view
* @param lv2 right list view
* @param bindType 3 binding possibilities : BIND_BIDIRECTIONAL=bidirectional, BIND_RIGHT_TO_LEFT and BIND_LEFT_TO_RIGHT
*/
public static void bind(ListView lv1, ListView lv2, int bindType) {
ScrollBar bar1 = null;
ScrollBar bar2 = null;
for (Node node : lv1.lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar && ((ScrollBar)node).getOrientation().equals(Orientation.VERTICAL)) {
bar1 = (ScrollBar)node;
}
}
for (Node node : lv2.lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar && ((ScrollBar)node).getOrientation().equals(Orientation.VERTICAL)) {
bar2 = (ScrollBar)node;
}
}
if (bar1 == null || bar2 == null) return;
final ScrollBar fbar1 = bar1;
final ScrollBar fbar2 = bar2;
if (fbar1 != null && (bindType & BIND_RIGHT_TO_LEFT) != 0) {
fbar1.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
fbar2.setValue(newValue.doubleValue());
}
});
}
if (fbar2 != null && (bindType & BIND_LEFT_TO_RIGHT) != 0) {
fbar2.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
fbar1.setValue(newValue.doubleValue());
}
});
}
}
// TODO: other JavaFx components ?
}
Je viens d'appeler ce code :
ScrollbarsBinding.bind(listView1, listView2);
Questions connexes
- 1. Les barres de défilement n'apparaissent pas sur ListView?
- 2. Barres de défilement dans NSTokenField
- 3. barres de défilement horizontales dans les tableaux
- 4. Barres de défilement dans un panneau modal
- 5. barres de défilement dans JTextArea
- 6. Comment déplacer les barres de défilement automatique
- 7. Barres de défilement personnalisées
- 8. synchroniser deux barres de défilement dans la boîte de sélection multiple
- 9. Barres de défilement Autohide lorsque vous ne faites pas défiler dans un ListView
- 10. recherche de barres de défilement
- 11. Pourquoi les barres de défilement apparaissent-elles?
- 12. Masquer les barres de défilement du navigateur
- 13. WPF - ListView within listView Problème de la barre de défilement
- 14. IKImageView et barres de défilement
- 15. JScrollPanel sans barres de défilement
- 16. Iframe affichant toujours les barres de défilement dans IE7
- 17. Les barres de défilement ne s'affichent pas dans Firefox
- 18. Faire disparaître les barres de défilement dans PerformancePoint Strategy Map
- 19. Barres de défilement personnalisées pour DATATABLES
- 20. ListView retard de défilement dans android
- 21. Traiter l'ajout automatique de barres de défilement
- 22. Comment obtenir les dimensions des barres de défilement?
- 23. Ajout de barres de défilement à UserControl
- 24. Flex renderer recyclage avec les barres de défilement du navigateur?
- 25. Comment redéfinir le défilement dans un listview
- 26. Strange ListView questions de défilement
- 27. Comment écouter le défilement dans un ListView?
- 28. CSS - Verrouille les barres de défilement en cas de débordement
- 29. Barres de défilement verticales avec window.open
- 30. dimensions de fenêtres IE7, y compris les barres de défilement
Si vous voulez avoir deux vues de liste avec selectedIndex toujours les mêmes et la position de défilement étant toujours la même, qu'est-ce qui vous empêche de créer une seule vue de liste? – Honza