È necessario utilizzare un controllo TreeView JavaFX 2.2 all'interno di uno schermo di scorrimento più grande che include molti altri elementi che non fanno parte di Treeview. Il problema è che TreeView ha il suo scrollpane incorporato. Qualcuno ha un esempio di un modo per disattivare lo scorrimento incorporato in modo che TreeView cresca tanto grande quanto gli oggetti contenuti al suo interno?Rimuovi pannello di scorrimento JavaFX TreeView
risposta
Mentre non è attualmente possibile rimuovere le barre di scorrimento, è possibile principalmente nasconderle con CSS.
.your-selector *.column-header-background *.show-hide-columns-button,
.your-selector *.scroll-bar:vertical *.increment-button,
.your-selector *.scroll-bar:vertical *.decrement-button,
.your-selector *.scroll-bar:vertical *.increment-arrow,
.your-selector *.scroll-bar:vertical *.decrement-arrow {
-fx-background-color: null;
-fx-background-radius: 0;
-fx-background-insets: 0;
-fx-padding: 0;
-fx-shape: null;
}
.your-selector *.scroll-bar:horizontal,
.your-selector *.scroll-bar:horizontal *.track,
.your-selector *.scroll-bar:horizontal *.track-background,
.your-selector *.scroll-bar:horizontal *.thumb,
.your-selector *.scroll-bar:horizontal *.increment-button,
.your-selector *.scroll-bar:horizontal *.decrement-button,
.your-selector *.scroll-bar:horizontal *.increment-arrow,
.your-selector *.scroll-bar:horizontal *.decrement-arrow {
\t -fx-base: transparent;
\t -fx-background-color: white;
}
Questa è una grande domanda.
Penso che sia necessario creare il proprio TableViewSkin che non deriva dallo VirtualContainerBase. VirtualContainerBase gestisce un VirtualFlow, che non si desidera se si desidera visualizzare l'intero TreeView. Credo che questa sia una cosa piuttosto complicata da realizzare in modo generale all'interno dell'API JavaFX 2/8 e non abbiamo alcuna soluzione di esempio o ulteriori suggerimenti su come ottenerlo in questo momento.
C'è una richiesta esistente funzionalità per tale funzionalità nel numero di inseguitore JavaFX:
- RT-26631 "consentire lo scorrimento da disabilitare sui controlli come Tabella, List, Albero e TreeTable".
Attualmente, la funzionalità non è stata programmata per l'implementazione in una versione futura.