javafx.scene.control.ListView.setCellFactory()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(11.5k)|赞(0)|评价(0)|浏览(421)

本文整理了Java中javafx.scene.control.ListView.setCellFactory()方法的一些代码示例,展示了ListView.setCellFactory()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ListView.setCellFactory()方法的具体详情如下:
包路径:javafx.scene.control.ListView
类名称:ListView
方法名:setCellFactory

ListView.setCellFactory介绍

暂无

代码示例

代码示例来源:origin: jfoenixadmin/JFoenix

control.suggestionsCellFactoryProperty().addListener((o, oldVal, newVal) -> {
  if (newVal != null) {
    suggestionList.setCellFactory(newVal);
  suggestionList.setCellFactory(control.getSuggestionsCellFactory());

代码示例来源:origin: speedment/speedment

@Override
protected Node createUndecoratedEditor() {
  final VBox container = new VBox();
  
  final ListView<String> listView = new ListView<>(strings);
  listView.setCellFactory(view -> new EnumCell(strings));
  listView.setEditable(true);
  listView.setMaxHeight(USE_PREF_SIZE);
  listView.setPrefHeight(LIST_HEIGHT);
  final HBox controls = new HBox(SPACING);
  controls.setAlignment(Pos.CENTER);
  controls.getChildren().addAll(
    addButton(listView),
    removeButton(listView),
    populateButton(listView)
  );
  container.setSpacing(SPACING);
  container.getChildren().addAll(listView, controls);
  hideShowBehaviour(container);
  
  return container;
}

代码示例来源:origin: pmd/pmd

@Override
protected void beforeParentInit() {
  xpathExpressionArea.setSyntaxHighlighter(new XPathSyntaxHighlighter());
  initGenerateXPathFromStackTrace();
  initialiseVersionSelection();
  expressionTitledPane.titleProperty().bind(xpathVersionUIProperty.map(v -> "XPath Expression (" + v + ")"));
  xpathResultListView.setCellFactory(v -> new XpathViolationListCell());
  exportXpathToRuleButton.setOnAction(e -> showExportXPathToRuleWizard());
  EventStreams.valuesOf(xpathResultListView.getSelectionModel().selectedItemProperty())
        .conditionOn(xpathResultListView.focusedProperty())
        .filter(Objects::nonNull)
        .map(TextAwareNodeWrapper::getNode)
        .subscribe(parent::onNodeItemSelected);
  xpathExpressionArea.richChanges()
            .filter(t -> !t.isIdentity())
            .successionEnds(XPATH_REFRESH_DELAY)
            // Reevaluate XPath anytime the expression or the XPath version changes
            .or(xpathVersionProperty().changes())
            .subscribe(tick -> parent.refreshXPathResults());
}

代码示例来源:origin: pmd/pmd

@Override
public void initialize(URL location, ResourceBundle resources) {
  BooleanBinding noSelection = fileListView.getSelectionModel().selectedItemProperty().isNull();
  removeFileButton.disableProperty().bind(noSelection);
  moveItemUpButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(0)));
  // we can't just map the val because we need an ObservableNumberValue
  IntegerBinding lastIndexBinding = Bindings.createIntegerBinding(() -> fileListView.getItems().size() - 1,
                                  Val.wrap(fileListView.itemsProperty()).flatMap(LiveList::sizeOf));
  moveItemDownButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(lastIndexBinding)));
  fileListView.setCellFactory(DesignerUtil.simpleListCellFactory(File::getName, File::getAbsolutePath));
  selectFilesButton.setOnAction(e -> onSelectFileClicked());
  removeFileButton.setOnAction(e -> onRemoveFileClicked());
  moveItemUpButton.setOnAction(e -> moveUp());
  moveItemDownButton.setOnAction(e -> moveDown());
}

代码示例来源:origin: speedment/speedment

lstProjectProblems.setCellFactory((ListView<Issue> param) -> new ListCell<Issue>() {
  @Override
  protected void updateItem(Issue item, boolean empty) {

代码示例来源:origin: com.powsybl/powsybl-gse-util

public static <T> void setWaitingCellFactory(ListView<T> listView, T waitingValue, Function<T, String> itemToString) {
  Objects.requireNonNull(listView);
  Objects.requireNonNull(waitingValue);
  listView.setCellFactory(param -> new TextFieldListCell<T>() {
    @Override
    public void updateItem(T item, boolean empty) {
      super.updateItem(item, empty);
      GseUtil.updateItem(this, item, empty, waitingValue, itemToString);
    }
  });
}

代码示例来源:origin: at.bestsolution.efxclipse.rt/org.eclipse.fx.ui.controls

/**
   * Setup a list
   *
   * @param listView
   *            the list view
   * @param items
   *            the items
   * @param labelPropertyExtractor
   *            the extractor
   * @return the list view
   * @since 2.3.0
   */
  public static <T> ListView<T> setupList(ListView<T> listView, ObservableList<T> items, Function<T, StringExpression> labelPropertyExtractor) {
    listView.setCellFactory(v -> new ListCell<T>() {
      @Override
      protected void updateItem(T item, boolean empty) {
        super.updateItem(item, empty);
        textProperty().unbind();

        if (item != null && !empty) {
          textProperty().bind(labelPropertyExtractor.apply(item));
        } else {
          setText(null);
        }
      }
    });
    listView.setItems(items);
    return listView;
  }
}

代码示例来源:origin: stackoverflow.com

public class ListViewController 
{
  @FXML private   ResourceBundle      resources;
  @FXML private   URL                 location;
  @FXML private   ListView            listView;
  private         List<String>        stringList     = new ArrayList<>(5);
  private         ObservableList      observableList = FXCollections.observableArrayList();
  public void setListView(){
    stringList.add("String 1");
    stringList.add("String 2");
    stringList.add("String 3");
    stringList.add("String 4");
    observableList.setAll(stringList);
    listView.setItems(observableList);
    listView.setCellFactory(
      new Callback<ListView<String>, javafx.scene.control.ListCell<String>>() {
        @Override
        public ListCell<String> call(ListView<String> listView) {
          return new ListViewCell();
        }
      });
  }
  @FXML
  void initialize() {
    assert listView != null : "fx:id=\"listView\" was not injected: check your FXML file 'CustomList.fxml'.";
    setListView();
  }
}//ListViewController

代码示例来源:origin: com.nexitia.emaginplatform/emagin-jfxcore-engine

/**
 * Set the selectedCallbackFuntion
 *
 * @param selectedCallbackFuntion the selectedCallbackFuntion to set
 */
@SuppressWarnings("rawtypes")
public void setSelectedCallbackFuntion(Function<T, Boolean> selectedCallbackFuntion) {
 this.itemSelectedFunction = selectedCallbackFuntion;
 proposalListView.setCellFactory(param -> {
  final VLAutoCompleteListCell<T> cell = (VLAutoCompleteListCell<T>) ReflectionUIUtils.newInstance(proposalListCell);
  cell.setSelectedCallBack(t -> {
   final T item = (T) t.getItem();
   proposalListView.getItems().remove(item);
   selectedCallbackFuntion.apply(item);
   return true;
  });
  return cell;
 });
}

代码示例来源:origin: com.intuit.karate/karate-core

public void refresh() {
  // unless we do ALL of this - the custom cell rendering has problems in javafx
  // and starts duplicating the last row for some reason, spent a lot of time on this :(
  listView = new ListView();
  listView.setItems(FXCollections.observableArrayList(units));
  listView.setCellFactory(lv -> new FeatureOutlineCell());
  scrollPane.setContent(listView);
  listView.getSelectionModel()
      .selectedIndexProperty()
      .addListener((o, prev, value) -> session.setSelectedScenario(value.intValue()));        
}

代码示例来源:origin: org.controlsfx/controlsfx

public TaskProgressViewSkin(TaskProgressView<T> monitor) {
  super(monitor);
  BorderPane borderPane = new BorderPane();
  borderPane.getStyleClass().add("box");
  // list view
  ListView<T> listView = new ListView<>();
  listView.setPrefSize(500, 400);
  listView.setPlaceholder(new Label("No tasks running"));
  listView.setCellFactory(param -> new TaskCell());
  listView.setFocusTraversable(false);
  Bindings.bindContent(listView.getItems(), monitor.getTasks());
  borderPane.setCenter(listView);
  getChildren().add(listView);
}

代码示例来源:origin: at.bestsolution.efxclipse.rt/org.eclipse.fx.ui.workbench.fx

this.listView = new ListView<>();
this.listView.getStyleClass().add("efx-perspective-list"); //$NON-NLS-1$
this.listView.setCellFactory(PerspectiveCell::new);
List<MPerspective> list = this.modelService.findElements(this.window, null, MPerspective.class, null);
this.listView.setItems(

代码示例来源:origin: ssaring/sportstracker

@Override
protected void setupDialogControls() {
  cbSpeedMode.getItems().addAll(List.of(SpeedModeItem.values()));
  liSportSubtypes.setCellFactory(list -> new NameableListCell<>());
  liEquipments.setCellFactory(list -> new NameableListCell<>());
  setupBinding();
  setupValidation();
  updateSportSubtypeList();
  updateEquipmentList();
  // start Sport Subtype edit dialog on double clicks in list
  liSportSubtypes.setOnMouseClicked(event -> {
    if (event.getClickCount() > 1) {
      onEditSportSubtype(null);
    }
  });
  // start Equipment edit dialog on double clicks in list
  liEquipments.setOnMouseClicked(event -> {
    if (event.getClickCount() > 1) {
      onEditEquipment(null);
    }
  });
}

代码示例来源:origin: org.controlsfx/controlsfx

public AutoCompletePopupSkin(AutoCompletePopup<T> control){
  this.control = control;
  suggestionList = new ListView<>(control.getSuggestions());
  suggestionList.getStyleClass().add(AutoCompletePopup.DEFAULT_STYLE_CLASS);
  suggestionList.getStylesheets().add(AutoCompletionBinding.class
      .getResource("autocompletion.css").toExternalForm()); //$NON-NLS-1$
  /**
   * Here we bind the prefHeightProperty to the minimum height between the
   * max visible rows and the current items list. We also add an arbitrary
   * 5 number because when we have only one item we have the vertical
   * scrollBar showing for no reason.
   */
  suggestionList.prefHeightProperty().bind(
      Bindings.min(control.visibleRowCountProperty(), Bindings.size(suggestionList.getItems()))
      .multiply(LIST_CELL_HEIGHT).add(18));
  suggestionList.setCellFactory(TextFieldListCell.forListView(control.getConverter()));
  
  //Allowing the user to control ListView width.
  suggestionList.prefWidthProperty().bind(control.prefWidthProperty());
  suggestionList.maxWidthProperty().bind(control.maxWidthProperty());
  suggestionList.minWidthProperty().bind(control.minWidthProperty());
  registerEventListener();
}

代码示例来源:origin: com.jfoenix/jfoenix

control.suggestionsCellFactoryProperty().addListener((o, oldVal, newVal) -> {
  if (newVal != null) {
    suggestionList.setCellFactory(newVal);
  suggestionList.setCellFactory(control.getSuggestionsCellFactory());

代码示例来源:origin: ssaring/sportstracker

@Override
protected void setupDialogControls() {
  // setup SportType list
  liSportTypes.setCellFactory(list -> new SportTypeListCell());
  updateSportTypeList();
  // start SportType edit dialog on double clicks in list
  liSportTypes.setOnMouseClicked(event -> {
    if (event.getClickCount() > 1) {
      onEditSportType(null);
    }
  });
  // Edit and Delete buttons must be disabled when there is no selection in list
  final BooleanBinding selected = Bindings.isNull(liSportTypes.getSelectionModel().selectedItemProperty());
  btEdit.disableProperty().bind(selected);
  btDelete.disableProperty().bind(selected);
}

代码示例来源:origin: com.aquafx-project/aquafx

private void buildListViewTab(Tab tab) {
  GridPane grid = new GridPane();
  grid.setPadding(new Insets(5, 5, 5, 5));
  grid.setHgap(5);
  grid.setVgap(5);
  // create the listview
  final ListView<TestPerson> listView = new ListView<TestPerson>();
  listView.setItems(data);
  // set the cell factory
  Callback<TestPerson, ObservableValue<Boolean>> getProperty = new Callback<TestPerson, ObservableValue<Boolean>>() {
    @Override public BooleanProperty call(TestPerson person) {
      // given a person, we return the property that represents
      // whether or not they are invited. We can then bind to this
      // bidirectionally.
      return person.telecommuterProperty();
    }
  };
  listView.setCellFactory(CheckBoxListCell.forListView(getProperty));
  grid.add(listView, 0, 0);
  GridPane.setVgrow(listView, Priority.ALWAYS);
  GridPane.setHgrow(listView, Priority.ALWAYS);
  tab.setContent(grid);
}

代码示例来源:origin: at.bestsolution.eclipse/org.eclipse.fx.text.ui

this.proposalList.setCellFactory((v) -> new SimpleListCell<ICompletionProposal>(label,graphic,css));
p.setCenter(this.proposalList);
this.stage.getScene().setRoot(p);

代码示例来源:origin: PhoenicisOrg/phoenicis

container.setCellFactory(param -> {
  final ListCell<CompactListElement<E>> listCell = new ListCell<CompactListElement<E>>() {
    @Override

代码示例来源:origin: PhoenicisOrg/phoenicis

container.setCellFactory(param -> {
  final ListCell<DetailsListElement<E>> listCell = new ListCell<DetailsListElement<E>>() {
    @Override

相关文章