import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.control.cell.TextFieldListCell;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Test extends Application {

	@Override
	public void start(Stage primaryStage) {
		// Create the ListView
		ListView<String> listView = new ListView<>();

		// Add two items to the ListView
		listView.getItems().addAll("Item 1", "Item 2");

		// Set custom cell size (47.2)
		listView.setFixedCellSize(47.2);

		// Calculate and set the viewport size (94.4)
		listView.setPrefHeight(94.4);

		// Optional: Use a TextFieldListCell for better representation
		listView.setCellFactory(TextFieldListCell.forListView());

		// Scroll to the last item (index 1 in this case)
		listView.scrollTo(listView.getItems().size() - 1);

		// Set up the scene and stage
		StackPane root = new StackPane(listView);
		Scene scene = new Scene(root, 200, 200);
		primaryStage.setTitle("ListView Scroll Example");
		primaryStage.setScene(scene);
		primaryStage.show();
	}

	public static void main(String[] args) {
		launch(args);
	}
}
