este problema se puede abordar de variadas formas, pero te mostramos la que en nuestra opinión es la respuesta más completa.
Solución:
Establecer la lista para que sea transparente para el mouse también evitará que las celdas con celdas de lista personalizadas interactuables acepten el foco.
La solución ideal es utilizar un modelo de selección especial:
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.MultipleSelectionModel;
public class NoSelectionModel extends MultipleSelectionModel
@Override
public ObservableList getSelectedIndices()
return FXCollections.emptyObservableList();
@Override
public ObservableList getSelectedItems()
return FXCollections.emptyObservableList();
@Override
public void selectIndices(int index, int... indices)
@Override
public void selectAll()
@Override
public void selectFirst()
@Override
public void selectLast()
@Override
public void clearAndSelect(int index)
@Override
public void select(int index)
@Override
public void select(T obj)
@Override
public void clearSelection(int index)
@Override
public void clearSelection()
@Override
public boolean isSelected(int index)
return false;
@Override
public boolean isEmpty()
return true;
@Override
public void selectPrevious()
@Override
public void selectNext()
Luego configure el modelo en la vista de lista:
listView.setSelectionModel(new NoSelectionModel());
También puedes probar:
listview.setMouseTransparent( true );
listView.setFocusTraversable( false );
Puede bloquear su vista de lista con el clic del mouse comprar usando el controlador de eventos
listview.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler()
@Override
public void handle(MouseEvent event)
System.out.println(">> Mouse Clicked");
event.consume();
);
Tienes la opción de asistir nuestra faena dejando un comentario o dejando una valoración te lo agradecemos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)