2012-10-01 25 views
5

Mucca Posso nascondere la barra di scorrimento orizzontale di un ListView? L'ho provato in modi diversi e probabilmente è totalmente semplice, ma non riesco a farlo funzionare.Come nascondere la barra di scorrimento orizzontale di un controllo ListView in JavaFX

+0

Benvenuti in Stack Overflow! Ti invitiamo a [ricercare le tue domande] (http://stackoverflow.com/questions/how-to-ask). Se hai già [provato qualcosa] (http://whathaveyoutried.com/), aggiungilo alla domanda - in caso contrario, cerca e prova prima la tua domanda e poi torna indietro. –

risposta

27

Prova questo nel CSS:

.list-view .scroll-bar:horizontal .increment-arrow, 
.list-view .scroll-bar:horizontal .decrement-arrow, 
.list-view .scroll-bar:horizontal .increment-button, 
.list-view .scroll-bar:horizontal .decrement-button { 
    -fx-padding:0; 
} 
+0

In aggiunta a ciò, trovo la ColumnResizePolicy non vincolata e le larghezze minime delle colonne tanto ampie quanto devono essere per adattarle a tutto, non c'è azione di scorrimento orizzontale quando la tabella ha lo stato attivo. –

+1

Si noti che questo funziona anche per le visualizzazioni di tabelle. – Noctua

-1

Bit di un hack, ma questo dovrebbe farlo. Nel CSS:

.list-view .scroll-bar:horizontal { 
    -fx-opacity: 0; 
    -fx-padding:-7; 
} 

Si noti che la barra di scorrimento è ancora lì, e gesti del mouse intorno a dove si "dovrebbe" essere porterebbe ad un comportamento di scorrimento.

0

Credo che sarebbe più bello un ListCell con un riquadro (ad esempio StackPane) e un'etichetta all'interno che avrà la funzionalità di puntini di sospensione:

StackPane pane = new StackPane(); 
pane.setStyle("-fx-border-color:red;"); 
pane.setMinWidth(0); 
pane.setPrefWidth(1); 
pane.getChildren().add(label); 

Puoi dare un'occhiata at this link.

La stessa soluzione potrebbe essere utilizzata per altri complessi ListCells.

Problemi correlati