/ / insertar espacio entre celdas en la vista de lista javaFX - listview, javafx

insertar espacio entre celdas en la vista de lista javaFX - listview, javafx

Quiero crear una brecha entre las celdas de vista de lista pero no encontré ningún método adecuado para realizar esta tarea. ¿Hay algún método en código css o java para crear brecha entre ellos?

Esto es lo que estoy buscando:

enter image description here Gracias de antemano,

Respuestas

4 para la respuesta № 1

Use un "fondo anidado" combinado con el relleno en el css para list-cell. Lo siguiente da un resultado que está cerca de su captura de pantalla:

list-view-cell-gap.css:

.list-view {
-fx-padding: 3px ;
-fx-background-color: darkred ;
}

.list-cell {
-fx-padding: 2px ;
-fx-background-color: transparent, -fx-background ;
-fx-background-insets: 0px, 2px ;
}

.list-cell:empty {
-fx-padding: 2px ;
-fx-background-color: transparent ;
-fx-background-insets: 0 ;
}

Código de prueba:

import java.util.stream.IntStream;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class ListViewStyleExample extends Application {

@Override
public void start(Stage primaryStage) {
ListView<String> listView = new ListView<>();
IntStream.rangeClosed(1, 20).mapToObj(Integer::toString)
.map("Item "::concat).forEach(listView.getItems()::add);
Scene scene = new Scene(new BorderPane(listView), 250, 400);
scene.getStylesheets().add("list-view-cell-gap.css");
primaryStage.setScene(scene);
primaryStage.show();
}


public static void main(String[] args) {
launch(args);
}
}