java类javafx.scene.control.ListView的实例源码

Ch6_15.java 文件源码 项目:Learning-RxJava 阅读 26 收藏 0 点赞 0 评论 0
@Override
public void start(Stage stage) throws Exception {
    VBox root = new VBox();
    ListView<String> listView = new ListView<>();
    Button refreshButton = new Button("REFRESH");
    JavaFxObservable.actionEventsOf(refreshButton)
            .observeOn(Schedulers.io())
            .flatMapSingle(a ->
                    Observable.fromArray(getResponse("https://goo.gl/S0xuOi")
                            .split("\\r?\\n")
                    ).toList()
            ).observeOn(JavaFxScheduler.platform())
            .subscribe(list ->
                    listView.getItems().setAll(list));
    root.getChildren().addAll(listView, refreshButton);
    stage.setScene(new Scene(root));
    stage.show();
}
SearchResultViewSkin.java 文件源码 项目:CalendarFX 阅读 42 收藏 0 点赞 0 评论 0
public SearchResultViewSkin(SearchResultView view) {
    super(view);

    Label placeholderLabel = new Label();
    placeholderLabel.getStyleClass().add("placeholder-label"); //$NON-NLS-1$

    listView = new ListView<>();
    listView.setItems(view.getSearchResults());
    listView.setCellFactory(new SearchResultCellFactory());
    listView.setPlaceholder(placeholderLabel);
    listView.getSelectionModel().selectedItemProperty()
            .addListener(it -> view.getProperties().put(
                    "selected.search.result",   //$NON-NLS-1$
                    listView.getSelectionModel().getSelectedItem()));
    getChildren().add(listView);
}
ListCellFactory.java 文件源码 项目:Matcher 阅读 41 收藏 0 点赞 0 评论 0
@Override
public ListCell<T> call(ListView<T> list) {
    return new ListCell<T>() {
        @Override
        protected void updateItem(T item, boolean empty) {
            super.updateItem(item, empty);

            if (empty || item == null) {
                setText(null);
                setStyle("");
            } else {
                setText(ListCellFactory.this.getText(item));
                setStyle(ListCellFactory.this.getStyle(item));
            }
        }
    };
}
ListViewCellFactorySample.java 文件源码 项目:marathonv5 阅读 32 收藏 0 点赞 0 评论 0
public ListViewCellFactorySample() {
    final ListView<Number> listView = new ListView<Number>();
    listView.setItems(FXCollections.<Number>observableArrayList(
            100.00, -12.34, 33.01, 71.00, 23000.00, -6.00, 0, 42223.00, -12.05, 500.00,
            430000.00, 1.00, -4.00, 1922.01, -90.00, 11111.00, 3901349.00, 12.00, -1.00, -2.00,
            15.00, 47.50, 12.11

    ));

    listView.setCellFactory(new Callback<ListView<java.lang.Number>, ListCell<java.lang.Number>>() {
        @Override public ListCell<Number> call(ListView<java.lang.Number> list) {
            return new MoneyFormatCell();
        }
    });        

    listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    getChildren().add(listView);
}
MarathonFileChooser.java 文件源码 项目:marathonv5 阅读 46 收藏 0 点赞 0 评论 0
private void initListView() {
    if (!doesAllowChildren) {
        fillUpChildren(fileChooserInfo.getRoot());
    }
    childrenListView.setCellFactory(new Callback<ListView<File>, ListCell<File>>() {
        @Override public ListCell<File> call(ListView<File> param) {
            return new ChildrenFileCell();
        }
    });
    childrenListView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
        if (fileChooserInfo.isFileCreation()) {
            return;
        }
        File selectedItem = childrenListView.getSelectionModel().getSelectedItem();
        if (selectedItem == null) {
            fileNameBox.clear();
        }
    });
}
RunHistoryStage.java 文件源码 项目:marathonv5 阅读 36 收藏 0 点赞 0 评论 0
private void initComponents() {
    VBox.setVgrow(historyView, Priority.ALWAYS);
    historyView.setItems(FXCollections.observableArrayList(runHistoryInfo.getTests()));
    historyView.setCellFactory(new Callback<ListView<JSONObject>, ListCell<JSONObject>>() {
        @Override public ListCell<JSONObject> call(ListView<JSONObject> param) {
            return new HistoryStateCell();
        }
    });

    VBox historyBox = new VBox(5);
    HBox.setHgrow(historyBox, Priority.ALWAYS);

    countField.setText(getRemeberedCount());
    if (countNeeded) {
        form.addFormField("Max count of remembered runs: ", countField);
    }
    historyBox.getChildren().addAll(new Label("Select test", FXUIUtils.getIcon("params")), historyView, form);

    verticalButtonBar.setId("vertical-buttonbar");
    historyPane.setId("history-pane");
    historyPane.getChildren().addAll(historyBox, verticalButtonBar);

    doneButton.setOnAction((e) -> onOK());
    buttonBar.setButtonMinWidth(Region.USE_PREF_SIZE);
    buttonBar.getButtons().addAll(doneButton);
}
MarathonCheckListStage.java 文件源码 项目:marathonv5 阅读 44 收藏 0 点赞 0 评论 0
private void initCheckList() {
    ToolBar toolBar = new ToolBar();
    toolBar.getItems().add(new Text("Check Lists"));
    toolBar.setMinWidth(Region.USE_PREF_SIZE);
    leftPane.setTop(toolBar);
    checkListElements = checkListInfo.getCheckListElements();
    checkListView = new ListView<CheckListForm.CheckListElement>(checkListElements);
    checkListView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
        CheckListElement selectedItem = checkListView.getSelectionModel().getSelectedItem();
        if (selectedItem == null) {
            doneButton.setDisable(true);
            return;
        }
        Node checkListForm = getChecklistFormNode(selectedItem, Mode.DISPLAY);
        if (checkListForm == null) {
            doneButton.setDisable(true);
            return;
        }
        doneButton.setDisable(false);
        ScrollPane sp = new ScrollPane(checkListForm);
        sp.setFitToWidth(true);
        sp.setPadding(new Insets(0, 0, 0, 10));
        rightPane.setCenter(sp);
    });
    leftPane.setCenter(checkListView);
}
TMTableFilter.java 文件源码 项目:CDN-FX-2.2 阅读 31 收藏 0 点赞 0 评论 0
public static SortedList<Ticket> createTableFilter(TextField textSearch, ListView listView){

        if(isPrepared)
            return new SortedList<>(filteredTickets);

        textSearch.setOnKeyPressed((KeyEvent ke) ->{
            if(ke.getCode().equals(KeyCode.ENTER)){
                text = textSearch.getText();
                filterTickets();
            }
        });

        //Listview
        listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                categoryText = newValue.split(" ")[0];
                if(categoryText.equals("DownloadPlayChild"))
                    categoryText = "DLP";
                filterTickets();
            }
        });

        isPrepared = true;
        return new SortedList<>(filteredTickets);
    }
JavaFXElementPropertyAccessor.java 文件源码 项目:marathonv5 阅读 34 收藏 0 点赞 0 评论 0
public int getListItemIndex(ListView<?> listView, String string) {
    ObservableList<?> items = listView.getItems();
    for (int i = 0; i < items.size(); i++) {
        String text = getListSelectionText(listView, i);
        if (text.equals(string)) {
            return i;
        }
    }
    return -1;
}
JavaFXListViewElementTest.java 文件源码 项目:marathonv5 阅读 26 收藏 0 点赞 0 评论 0
@Test public void selectForDuplicateItems() {
    @SuppressWarnings("unchecked")
    ListView<String> listViewNode = (ListView<String>) getPrimaryStage().getScene().getRoot().lookup(".list-view");
    Platform.runLater(new Runnable() {

        @Override public void run() {
            listViewNode.getItems().add(2, "Row 2");
        }
    });
    Platform.runLater(() -> listView.marathon_select("[\"Row 2(1)\"]"));
    new Wait("Waiting for list item to be select") {
        @Override public boolean until() {
            return listViewNode.getSelectionModel().getSelectedIndex() == 2;
        }
    };
}
JavaFXListViewElementTest.java 文件源码 项目:marathonv5 阅读 34 收藏 0 点赞 0 评论 0
@Test public void selectForMultipleDuplicates() {
    @SuppressWarnings("unchecked")
    ListView<String> listViewNode = (ListView<String>) getPrimaryStage().getScene().getRoot().lookup(".list-view");
    Platform.runLater(new Runnable() {

        @Override public void run() {
            listViewNode.getItems().add(2, "Row 2");
            listViewNode.getItems().add(9, "Row 2");
            listViewNode.getItems().add(10, "Row 2");
        }
    });
    Platform.runLater(() -> listView.marathon_select("[\"Row 2(3)\"]"));
    new Wait("Waiting for list item to be select") {
        @Override public boolean until() {
            return listViewNode.getSelectionModel().getSelectedIndex() == 10;
        }
    };
}
MainController.java 文件源码 项目:WholesomeChat 阅读 41 收藏 0 点赞 0 评论 0
@FXML
public void onListClick(MouseEvent event) {
    Scene scene = stage.getScene();
    ListView<String> list = (ListView<String>) scene.lookup("#list");
    if (list.getSelectionModel() != null && list.getSelectionModel().getSelectedItem() != null) {
        JsonObject str = new JsonObject();
        str.addProperty("text", list.getSelectionModel().getSelectedItem().replaceAll("\\[.*?\\] @.*? > ", "").replaceAll("\"", "\\\"").trim());
        str.addProperty("intent", "precheck");
        chatAccess.send(gson.toJson(str));
    }
}
ExercisePresenter.java 文件源码 项目:ABC-List 阅读 38 收藏 0 点赞 0 评论 0
private void initializeComboBoxTimeChooser() {
    LoggerFacade.getDefault().info(this.getClass(), "Initialize [ComboBox] [TimeChooser]"); // NOI18N

    cbTimeChooser.setCellFactory((ListView<ETime> listview) -> new ListCell<ETime>() {
        @Override
        public void updateItem(ETime time, boolean empty) {
            super.updateItem(time, empty);
            this.setGraphic(null);
            this.setText(!empty ? time.toString() : null);
        }
    });

    final ObservableList<ETime> observableListTimes = FXCollections.observableArrayList();
    observableListTimes.addAll(ETime.values());
    cbTimeChooser.getItems().addAll(observableListTimes);
    cbTimeChooser.getSelectionModel().selectFirst();
}
ListViewCellFactorySample.java 文件源码 项目:marathonv5 阅读 35 收藏 0 点赞 0 评论 0
public ListViewCellFactorySample() {
    final ListView<Number> listView = new ListView<Number>();
    listView.setItems(FXCollections.<Number>observableArrayList(
            100.00, -12.34, 33.01, 71.00, 23000.00, -6.00, 0, 42223.00, -12.05, 500.00,
            430000.00, 1.00, -4.00, 1922.01, -90.00, 11111.00, 3901349.00, 12.00, -1.00, -2.00,
            15.00, 47.50, 12.11

    ));

    listView.setCellFactory(new Callback<ListView<java.lang.Number>, ListCell<java.lang.Number>>() {
        @Override public ListCell<Number> call(ListView<java.lang.Number> list) {
            return new MoneyFormatCell();
        }
    });        

    listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    getChildren().add(listView);
}
TwitterPreferencesController.java 文件源码 项目:Java-9-Programming-Blueprints 阅读 40 收藏 0 点赞 0 评论 0
private Node buildConfigurationUI() {
    VBox box = new VBox();
    box.setPadding(new Insets(10));

    CheckBox cb = new CheckBox(MessageBundle.getInstance().getString("homeTimelineCB"));
    cb.selectedProperty().addListener((ObservableValue<? extends Boolean> ov, Boolean oldVal, Boolean newVal) -> {
        showHomeTimeline = newVal;
    });

    Label label = new Label(MessageBundle.getInstance().getString("userListLabel") + ":");

    ListView<SelectableItem<UserList>> lv = new ListView<>();
    lv.setItems(itemList);
    lv.setCellFactory(CheckBoxListCell.forListView(item -> item.getSelected()));
    VBox.setVgrow(lv, Priority.ALWAYS);

    box.getChildren().addAll(cb, label, lv);
    showTwitterListSelection();

    return box;
}
PathSetter.java 文件源码 项目:voogasalad-ltub 阅读 34 收藏 0 点赞 0 评论 0
public PathSetter(ObservableList<Path> paths, String variableName){
    super(Path.class,variableName);
    this.myPaths=paths;     

    pathChoices= new ComboBox<>(myPaths);

    pathChoices.setCellFactory(new Callback<ListView<Path>, ListCell<Path>>(){
        @Override
        public ListCell<Path> call(ListView<Path> list){
            return new PathCell();
        }
    });
    pathChoices.setButtonCell(new PathButtonCell());

    this.getChildren().add(pathChoices);

}
RFXListViewTest.java 文件源码 项目:marathonv5 阅读 28 收藏 0 点赞 0 评论 0
@Test public void getTextForMultipleSelection() {
    ListView<?> listView = (ListView<?>) getPrimaryStage().getScene().getRoot().lookup(".list-view");
    LoggingRecorder lr = new LoggingRecorder();
    List<String> text = new ArrayList<>();
    Platform.runLater(new Runnable() {
        @Override public void run() {
            MultipleSelectionModel<?> selectionModel = listView.getSelectionModel();
            selectionModel.setSelectionMode(SelectionMode.MULTIPLE);
            selectionModel.selectIndices(2, 8);
            RFXListView rfxListView = new RFXListView(listView, null, null, lr);
            rfxListView.focusLost(new RFXListView(null, null, null, lr));
            text.add(rfxListView.getAttribute("text"));
        }
    });
    new Wait("Waiting for list text.") {
        @Override public boolean until() {
            return text.size() > 0;
        }
    };
    AssertJUnit.assertEquals("[\"Long Row 3\",\"Row 9\"]", text.get(0));
}
RFXListViewTest.java 文件源码 项目:marathonv5 阅读 42 收藏 0 点赞 0 评论 0
@Test public void selectSpecialItemSelection() {
    @SuppressWarnings("unchecked")
    ListView<String> listView = (ListView<String>) getPrimaryStage().getScene().getRoot().lookup(".list-view");
    LoggingRecorder lr = new LoggingRecorder();
    Platform.runLater(new Runnable() {
        @Override public void run() {
            listView.getItems().add(7, " Special Characters ([],)");
            listView.getSelectionModel().select(7);
            RFXListView rfxListView = new RFXListView(listView, null, null, lr);
            rfxListView.focusLost(new RFXListView(null, null, null, lr));
        }
    });
    List<Recording> recordings = lr.waitAndGetRecordings(1);
    Recording recording = recordings.get(0);
    AssertJUnit.assertEquals("recordSelect", recording.getCall());
    AssertJUnit.assertEquals("[\" Special Characters ([],)\"]", recording.getParameters()[0]);
}
RFXListViewChoiceBoxListCell.java 文件源码 项目:marathonv5 阅读 32 收藏 0 点赞 0 评论 0
@Test public void select() {
    @SuppressWarnings("unchecked")
    ListView<String> listView = (ListView<String>) getPrimaryStage().getScene().getRoot().lookup(".list-view");
    LoggingRecorder lr = new LoggingRecorder();
    Platform.runLater(() -> {
        @SuppressWarnings("unchecked")
        ChoiceBoxListCell<String> cell = (ChoiceBoxListCell<String>) getCellAt(listView, 3);
        Point2D point = getPoint(listView, 3);
        RFXListView rfxListView = new RFXListView(listView, null, point, lr);
        rfxListView.focusGained(rfxListView);
        cell.startEdit();
        cell.updateItem("Option 3", false);
        cell.commitEdit("Option 3");
        rfxListView.focusLost(rfxListView);
    });
    List<Recording> recordings = lr.waitAndGetRecordings(1);
    Recording recording = recordings.get(0);
    AssertJUnit.assertEquals("recordSelect", recording.getCall());
    AssertJUnit.assertEquals("Option 3", recording.getParameters()[0]);
}
ConsolePane.java 文件源码 项目:Goliath-Overclocking-Utility-FX 阅读 42 收藏 0 点赞 0 评论 0
public ConsolePane()
{
    super();
    super.setPrefHeight(AppTabPane.CONTENT_HEIGHT);
    super.setPrefWidth(AppTabPane.CONTENT_WIDTH);

    OUTPUT.add("Goliath Overclocking Utility V1 Alpha");
    OUTPUT.add("Theme: " + AppSettings.getTheme());
    OUTPUT.add("Show Extra Attribute Information: " + AppSettings.getShowExtraAttributeInfo());

    list = new ListView<>(FXCollections.observableArrayList(OUTPUT));
    list.setEditable(false);
    list.setPrefHeight(283);
    list.setPrefWidth(750);
    list.setPlaceholder(new Label("No Output"));
    list.setItems(FXCollections.observableArrayList(OUTPUT));

    super.getChildren().add(list);
}
GroupMemberView.java 文件源码 项目:Lernkartei_2017 阅读 44 收藏 0 点赞 0 评论 0
@Override
public Parent constructContainer()
{
    bp.setId("loginviewbg");

    list = new ListView<String>();
    items = FXCollections.observableArrayList("Philippe Kr�ttli","Irina Deck","Javier Martinez Alvarez","Frithjof Hoppe");
    list.setItems(items);       

    AllFields = new VBox(50);
    AllFields.setAlignment(Pos.CENTER);
    AllFields.setMaxWidth(300);
    AllFields.setPadding(new Insets(20));

    GroupName = new HBox(50);
    Option = new HBox(50);

    name = new Label("Name:");
    groupname = new Label("{Gruppenname}");

    btnAdd = new AppButton("Hinzuf�gen");
    btnRemove = new AppButton("Entfernen");
    back = new BackButton(getFXController(),"Zur�ck");



    GroupName.getChildren().addAll(name,groupname);
    Option.getChildren().addAll(back,btnAdd,btnRemove);

    AllFields.getChildren().addAll(GroupName,Option,list);


    bp.setCenter(AllFields);

    back.setOnAction(e -> getFXController().showView("groupview"));
    btnAdd.setOnAction(e -> getFXController().showView("userlistview"));

    btnRemove.setOnAction(e -> {
    Alert alert = new Alert(AlertType.CONFIRMATION);
    alert.setTitle("Mitglied l�schen");
    alert.setHeaderText("Sie sind gerade dabei ein Mitglied aus der Gruppe zu entfernen.");
    alert.setContentText("Sind Sie sich sicher, dass sie das tun wollen?");
    Optional<ButtonType> result = alert.showAndWait();
    if (result.get() == ButtonType.OK){
        // ... user chose OK
    } else {
        Alert noDeletion = new Alert(AlertType.INFORMATION);
        noDeletion.setTitle("L�schvorgang abgebrochen");
        noDeletion.setHeaderText("Mitglied nicht gel�scht");
        noDeletion.setContentText("Der L�schvorgang wurde abgebrochen.");
        noDeletion.showAndWait();
        alert.close();
    }});

    return bp;
}
IoVariableChooserDialog.java 文件源码 项目:stvs 阅读 32 收藏 0 点赞 0 评论 0
private ListCell<CodeIoVariable> createCellForListView(
    ListView<CodeIoVariable> codeIoVariableListView) {
  return new ListCell<CodeIoVariable>() {
    @Override
    protected void updateItem(CodeIoVariable item, boolean empty) {
      super.updateItem(item, empty);
      if (empty) {
        setText(null);
      } else {
        setText(item.getCategory() + " " + item.getName() + " : " + item.getType());
      }
    }
  };
}
BasicUIFactory.java 文件源码 项目:GameAuthoringEnvironment 阅读 37 收藏 0 点赞 0 评论 0
public void modifyListView (ListView<?> listView,
                            double width,
                            double height,
                            String cssClass) {
    listView.setPrefSize(width, height);
    listView.getStyleClass().add(cssClass);
}
TableListView.java 文件源码 项目:cassandra-client 阅读 26 收藏 0 点赞 0 评论 0
private ListView<String> list() {
    ListView<String> tables = new ListView<>(FXCollections.observableArrayList());
    tables.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    tables.setPrefHeight(480);
    tables.setPrefWidth(256);
    return tables;
}
ExpressionBuilderController.java 文件源码 项目:Squid 阅读 33 收藏 0 点赞 0 评论 0
@Override
public ListCell<Expression> call(ListView<Expression> param) {
    ListCell<Expression> cell = new ListCell<Expression>() {
        @Override
        public void updateItem(Expression expression, boolean empty) {
            super.updateItem(expression, empty);
            if (empty) {
                setText(null);
                setGraphic(null);
            } else {
                setText(expression.getName());
            }
        }
    };

    cell.setOnDragDetected(event -> {
        if (!cell.isEmpty()) {
            Dragboard db = cell.startDragAndDrop(TransferMode.COPY);
            db.setDragView(new Image(SQUID_LOGO_SANS_TEXT_URL, 32, 32, true, true));
            ClipboardContent cc = new ClipboardContent();
            cc.putString("[\"" + cell.getItem().getName() + "\"]");
            db.setContent(cc);
            dragExpressionSource.set(cell);
        }
    });

    cell.setCursor(Cursor.CLOSED_HAND);
    return cell;
}
ExpressionBuilderController.java 文件源码 项目:Squid 阅读 37 收藏 0 点赞 0 评论 0
@Override
public ListCell<SquidRatiosModel> call(ListView<SquidRatiosModel> param) {
    ListCell<SquidRatiosModel> cell = new ListCell<SquidRatiosModel>() {
        @Override
        public void updateItem(SquidRatiosModel expression, boolean empty) {
            super.updateItem(expression, empty);
            if (empty) {
                setText(null);
                setGraphic(null);
            } else {
                setText(expression.getRatioName());
            }
        }
    };

    cell.setOnDragDetected(event -> {
        if (!cell.isEmpty()) {
            Dragboard db = cell.startDragAndDrop(TransferMode.COPY);
            db.setDragView(new Image(SQUID_LOGO_SANS_TEXT_URL, 32, 32, true, true));
            ClipboardContent cc = new ClipboardContent();
            cc.putString("[\"" + cell.getItem().getRatioName() + "\"]");
            db.setContent(cc);
            dragSquidRatioModelSource.set(cell.getItem());
        }
    });

    cell.setCursor(Cursor.CLOSED_HAND);
    return cell;
}
ExpressionBuilderController.java 文件源码 项目:Squid 阅读 37 收藏 0 点赞 0 评论 0
@Override
public ListCell<String> call(ListView<String> param) {
    ListCell<String> cell = new ListCell<String>() {
        @Override
        public void updateItem(String operationOrFunction, boolean empty) {
            super.updateItem(operationOrFunction, empty);
            if (empty) {
                setText(null);
                setGraphic(null);
            } else {
                setText(operationOrFunction);
            }
        }
    };

    cell.setOnDragDetected(event -> {
        if (!cell.isEmpty()) {
            Dragboard db = cell.startDragAndDrop(TransferMode.COPY);
            db.setDragView(new Image(SQUID_LOGO_SANS_TEXT_URL, 32, 32, true, true));
            ClipboardContent cc = new ClipboardContent();
            cc.putString(cell.getItem());
            db.setContent(cc);
            dragSource.set(cell.getItem());
        }
    });

    cell.setCursor(Cursor.CLOSED_HAND);
    return cell;
}
IWEditBookmarkDialog.java 文件源码 项目:icewolf 阅读 38 收藏 0 点赞 0 评论 0
public IWEditBookmarkDialog(ListView lv, ListView lv1, HashMap<Integer, String> hm, HashMap<Integer, String> hm1, String id, String name, String url, int catindex) {
    this.listView = lv;
    this.bookmarkListView = lv1;
    this.hm = hm;
    this.hm1 = hm1;
    this.name = name;
    this.url = url;
    this.id = id;
    this.catindex = catindex;
}
HorizontalListViewSample.java 文件源码 项目:marathonv5 阅读 31 收藏 0 点赞 0 评论 0
public HorizontalListViewSample() {
    ListView horizontalListView = new ListView();
    horizontalListView.setOrientation(Orientation.HORIZONTAL);
    horizontalListView.setItems(FXCollections.observableArrayList(
            "Row 1", "Row 2", "Long Row 3", "Row 4", "Row 5", "Row 6",
            "Row 7", "Row 8", "Row 9", "Row 10", "Row 11", "Row 12", "Row 13",
            "Row 14", "Row 15", "Row 16", "Row 17", "Row 18", "Row 19", "Row 20"
    ));
    getChildren().add(horizontalListView);
}
ListLayout.java 文件源码 项目:marathonv5 阅读 36 收藏 0 点赞 0 评论 0
private VBox createListView() {
    listViewBox = new VBox(5);
    classPathListView = new ListView<ClassPathElement>(classPathListItems);
    classPathListView.setPrefHeight(Node.BASELINE_OFFSET_SAME_AS_HEIGHT);
    classPathListView.setId("ClassPathList");
    classPathListView.setCellFactory((e) -> {
        ClassPathCell classPathCell = new ClassPathCell();
        classPathCell.setId("ClassPathCell");
        return classPathCell;
    });

    if (!isSingleSelection()) {
        classPathListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    }
    classPathListView.getSelectionModel().selectedItemProperty().addListener((observableValue, oldValue, newValue) -> {
        MultipleSelectionModel<ClassPathElement> selectionModel = classPathListView.getSelectionModel();
        int itemCount = classPathListItems.size();
        int selectedIndex = selectionModel.getSelectedIndex();
        setButtonState(deleteButton, selectedIndex != -1);
        boolean enable = selectedIndex != 0 && selectedIndex != -1 && itemCount > 1;
        setButtonState(upButton, enable);
        enable = selectedIndex != itemCount - 1 && selectedIndex != -1 && itemCount > 1;
        setButtonState(downButton, enable);
    });
    listViewBox.getChildren().add(classPathListView);
    HBox.setHgrow(listViewBox, Priority.ALWAYS);
    VBox.setVgrow(classPathListView, Priority.ALWAYS);
    return listViewBox;
}


问题


面经


文章

微信
公众号

扫码关注公众号