Example usage for javafx.collections.transformation SortedList SortedList

List of usage examples for javafx.collections.transformation SortedList SortedList

Introduction

In this page you can find the example usage for javafx.collections.transformation SortedList SortedList.

Prototype

@SuppressWarnings("unchecked")
public SortedList(@NamedArg("source") ObservableList<? extends E> source,
        @NamedArg("comparator") Comparator<? super E> comparator) 

Source Link

Document

Creates a new SortedList wrapped around the source list.

Usage

From source file:com.properned.application.ManageLocaleController.java

public void initializeList() {
    logger.info("Initialize locale list");
    list = FXCollections.observableArrayList(multiLanguageProperties.getMapPropertiesByLocale().keySet());

    SortedList<Locale> sortedList = new SortedList<>(list, new Comparator<Locale>() {
        @Override// ww w. j  a  va2 s .  c  o m
        public int compare(Locale o1, Locale o2) {
            return o1.toString().compareTo(o2.toString());
        }
    });

    localeList.setItems(sortedList);

    localeList.setCellFactory(c -> new LocaleListCell(multiLanguageProperties, this));

    list.addListener(new ListChangeListener<Locale>() {
        @Override
        public void onChanged(Change<? extends Locale> c) {
            if (c.next()) {
                if (c.wasAdded()) {
                    List<? extends Locale> addedSubList = c.getAddedSubList();
                    for (Locale locale : addedSubList) {
                        try {
                            MultiLanguageProperties.getInstance().addLocale(locale);
                        } catch (IOException e) {
                            Properned.getInstance().showError(
                                    MessageReader.getInstance().getMessage("manageLocale.error.errorAddLocale"),
                                    e);
                        }
                    }

                }
            }
        }
    });
}

From source file:cz.lbenda.gui.tableView.FilterMenuItem.java

private FilterMenuItem(VBox panel, FilterableTableView filterableTableView,
        FilterableTableColumn filterableTableColumn) {
    super(null, panel);
    this.filterableTableView = filterableTableView;
    okCancelBar.setAlignment(Pos.BOTTOM_RIGHT);
    this.tableColumn = filterableTableColumn;
    this.getStyleClass().add("listview-menu-item");

    SortedList<Item> sortedList = new SortedList<>(filteredList, Item::compareTo);
    ListView<Item> listView = new ListView<>();
    listView.setItems(sortedList);//from w ww .j  a v a  2 s.com
    listView.setCellFactory(CheckBoxListCell.forListView(Item::onProperty));

    TextField textField = new TextField();
    textField.textProperty().addListener((observable, oldValue, newValue) -> {
        filteredList.setPredicate(item -> StringUtils.isEmpty(newValue) || !StringUtils.isEmpty(item.getName())
                && item.getName().toLowerCase().contains(newValue.toLowerCase()));
    });

    prepareBars();
    prepareQuickFilter();
    prepareOkCancelBar();
    panel.getChildren().add(buttonBar);
    panel.getChildren().add(textField);
    panel.getChildren().add(listView);
    panel.getChildren().add(quickFilter);
    panel.getChildren().add(okCancelBar);

    //noinspection unchecked
    filterableTableView.sortProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue == null || (newValue != comparatorAsc && newValue != comparatorDsc)) {
            filterableTableColumn.removeRightIndicator(sortIndicator);
            sortToggleGroup.selectToggle(null);
        } else {
            filterableTableColumn.removeRightIndicator(sortIndicator);
            filterableTableColumn.addRightIndicator(sortIndicator);
            if (newValue == comparatorAsc) {
                sortIndicator.setImage(IconFactory.getInstance().image(this, ICON_SORT_ASC,
                        IconFactory.IconLocation.INDICATOR));
            } else {
                sortIndicator.setImage(IconFactory.getInstance().image(this, ICON_SORT_DSC,
                        IconFactory.IconLocation.INDICATOR));
            }
        }
    });
}

From source file:com.properned.application.SystemController.java

public void initialize() {
    logger.info("Initialize System controller");
    localeButton.disableProperty().bind(multiLanguageProperties.isLoadedProperty().not());
    saveButton.disableProperty().bind(multiLanguageProperties.isDirtyProperty().not()
            .or(multiLanguageProperties.isLoadedProperty().not()));
    Stage primaryStage = Properned.getInstance().getPrimaryStage();
    primaryStage.titleProperty()/* ww w .j av a2  s  . c o m*/
            .bind(multiLanguageProperties.baseNameProperty()
                    .concat(Bindings.when(multiLanguageProperties.isLoadedProperty())
                            .then(new SimpleStringProperty(" (")
                                    .concat(multiLanguageProperties.parentDirectoryPathProperty()).concat(")"))
                            .otherwise(""))
                    .concat(Bindings.when(multiLanguageProperties.isDirtyProperty()).then(" *").otherwise("")));

    FilteredList<String> filteredList = new FilteredList<>(multiLanguageProperties.getListMessageKey(),
            new Predicate<String>() {
                @Override
                public boolean test(String t) {
                    String filter = filterText.getText();
                    if (filter == null || filter.equals("")) {
                        return true;
                    }
                    return t.contains(filter);
                }
            });
    SortedList<String> sortedList = new SortedList<>(filteredList, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return o1.compareTo(o2);
        }
    });
    messageKeyList.setItems(sortedList);
    filterText.textProperty().addListener(new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            // Filter the list
            filteredList.setPredicate(new Predicate<String>() {
                @Override
                public boolean test(String t) {
                    String filter = filterText.getText();
                    if (filter == null || filter.equals("")) {
                        return true;
                    }
                    return t.contains(filter);
                }
            });

            // check the add button disabled status
            if (isKeyCanBeAdded(newValue)) {
                addButton.setDisable(false);
            } else {
                addButton.setDisable(true);
            }

        }

    });
    ChangeListener<String> changeMessageListener = new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            logger.info("Message key selection changed : " + newValue);
            valueList.setItems(FXCollections.observableArrayList());

            valueList.setItems(FXCollections
                    .observableArrayList(multiLanguageProperties.getMapPropertiesByLocale().keySet()));
        }
    };
    messageKeyList.getSelectionModel().selectedItemProperty().addListener(changeMessageListener);
    messageKeyList.setCellFactory(c -> new MessageKeyListCell(multiLanguageProperties));

    valueList.setCellFactory(c -> new ValueListCell(multiLanguageProperties, messageKeyList));

    filterText.setOnKeyReleased(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.DOWN) {
                messageKeyList.requestFocus();
                event.consume();
            } else if (event.getCode() == KeyCode.ENTER) {
                addKey();
                event.consume();
            }
        }
    });
}