@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();
}
java类javafx.scene.control.ListView的实例源码
Ch6_15.java 文件源码
项目:Learning-RxJava
阅读 26
收藏 0
点赞 0
评论 0
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;
}