Java Examples for javafx.scene.control.ScrollBar
The following java examples will help you to understand the usage of javafx.scene.control.ScrollBar. These source code samples are taken from different open source projects.
Example 1
| Project: Cachoeira-master File: TableAndGanttPane.java View source code |
private Node createTableView() {
VBox.setVgrow(tableView, Priority.ALWAYS);
tableView.setFixedCellSize(ROW_HEIGHT);
tableView.createTable();
tableView.bindScrollsToController();
ScrollBar horizontalScrollBar = new ScrollBar();
horizontalScrollBar.setOrientation(Orientation.HORIZONTAL);
horizontalScrollBar.visibleAmountProperty().bind(tableView.widthProperty());
horizontalScrollBar.valueProperty().bindBidirectional(controller.taskHorizontalScrollValueProperty());
return new VBox(tableView, horizontalScrollBar);
}Example 2
| Project: skadi-master File: JavaFXUtil.java View source code |
public static ScrollBar getVerticalScrollbar(final TableView<?> table) { ScrollBar result = null; for (final Node n : table.lookupAll(".scroll-bar")) { if (n instanceof ScrollBar) { final ScrollBar bar = (ScrollBar) n; if (bar.getOrientation().equals(Orientation.VERTICAL)) { result = bar; } } } return result; }
Example 3
| Project: XR3Player-master File: TableViewSample.java View source code |
@Override
public void start(Stage stage) {
Scene scene = new Scene(new Group());
stage.setTitle("Table View Sample");
stage.setWidth(450);
stage.setHeight(550);
final Label label = new Label("Address Book");
label.setFont(new Font("Arial", 20));
table.setEditable(true);
TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
firstNameCol.setMinWidth(100);
firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
firstNameCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn());
firstNameCol.setOnEditCommit((CellEditEvent<Person, String> t) -> {
((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setFirstName(t.getNewValue());
});
TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
lastNameCol.setMinWidth(100);
lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
lastNameCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn());
lastNameCol.setOnEditCommit((CellEditEvent<Person, String> t) -> {
((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setLastName(t.getNewValue());
});
TableColumn<Person, String> emailCol = new TableColumn<>("Email");
emailCol.setMinWidth(200);
emailCol.setCellValueFactory(new PropertyValueFactory<>("email"));
emailCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn());
emailCol.setOnEditCommit((CellEditEvent<Person, String> t) -> {
((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setEmail(t.getNewValue());
});
table.setItems(data);
table.getColumns().addAll(firstNameCol, lastNameCol, emailCol);
final TextField addFirstName = new TextField();
addFirstName.setPromptText("First Name");
addFirstName.setMaxWidth(firstNameCol.getPrefWidth());
final TextField addLastName = new TextField();
addLastName.setMaxWidth(lastNameCol.getPrefWidth());
addLastName.setPromptText("Last Name");
final TextField addEmail = new TextField();
addEmail.setMaxWidth(emailCol.getPrefWidth());
addEmail.setPromptText("Email");
final Button addButton = new Button("Add");
addButton.setOnAction((ActionEvent e) -> {
data.add(new Person(addFirstName.getText(), addLastName.getText(), addEmail.getText()));
addFirstName.clear();
addLastName.clear();
addEmail.clear();
});
hb.getChildren().addAll(addFirstName, addLastName, addEmail, addButton);
hb.setSpacing(3);
final VBox vbox = new VBox();
vbox.setSpacing(5);
vbox.setPadding(new Insets(10, 0, 0, 10));
vbox.getChildren().addAll(label, table, hb);
((Group) scene.getRoot()).getChildren().addAll(vbox);
stage.setScene(scene);
stage.show();
ScrollBar verticalBar = (ScrollBar) table.lookup(".scroll-bar:vertical");
verticalBar.setValue(0.65);
}Example 4
| Project: jitwatch-master File: EditorPane.java View source code |
private void generateLineNumbers(int breakCount) {
StringBuilder builder = new StringBuilder();
final int maxDigits = Integer.toString(breakCount).length();
for (int i = 0; i < breakCount; i++) {
String marker = StringUtil.padLineNumber(i + 1, maxDigits);
builder.append(marker).append(C_NEWLINE);
}
double minWidth = 16 + maxDigits * 12;
taLineNumbers.setText(builder.toString());
taLineNumbers.setMinWidth(minWidth);
taLineNumbers.setMaxWidth(minWidth + 16);
taLineNumbers.setPrefWidth(minWidth);
if (sbSource == null) {
sbSource = (ScrollBar) taSource.lookup(".scroll-bar:vertical");
}
if (sbLineNum == null) {
sbLineNum = (ScrollBar) taLineNumbers.lookup(".scroll-bar:vertical");
}
if (sbLineNum != null) {
sbLineNum.setOpacity(0.0);
sbLineNum.setStyle("-fx-background-color:white");
}
if (sbSource != null && sbLineNum != null && !scrollLinked) {
linkScrollBars();
}
}Example 5
| Project: AsciidocFX-master File: FileBrowseService.java View source code |
private void initializeScrollListener() {
threadService.runActionLater(() -> {
this.treeView = controller.getFileSystemView();
Set<Node> nodes = this.treeView.lookupAll(".scroll-bar");
for (Node node : nodes) {
ScrollBar scrollBar = (ScrollBar) node;
if (scrollBar.getOrientation() == Orientation.VERTICAL) {
verticalScrollState.updateState(scrollBar);
scrollBar.valueProperty().addListener(( observable, oldValue, newValue) -> {
verticalScrollState.updateState(scrollBar, newValue);
});
} else if (scrollBar.getOrientation() == Orientation.HORIZONTAL) {
horizontalScrollState.updateState(scrollBar);
scrollBar.valueProperty().addListener(( observable, oldValue, newValue) -> {
horizontalScrollState.updateState(scrollBar, newValue);
});
}
}
});
}Example 6
| Project: chvote-1-0-master File: KeyTestingController.java View source code |
private void bindScrollBars() {
ScrollBar plainTextScrollBar = plainTextList.lookupAll(".scroll-bar").stream().map( e -> (ScrollBar) e).filter( e -> e.getOrientation().equals(Orientation.HORIZONTAL)).findFirst().orElse(null);
ScrollBar decryptedTextScrollBar = decryptedTextList.lookupAll(".scroll-bar").stream().map( e -> (ScrollBar) e).filter( e -> e.getOrientation().equals(Orientation.HORIZONTAL)).findFirst().orElse(null);
if (plainTextScrollBar != null && decryptedTextScrollBar != null) {
plainTextScrollBar.valueProperty().bindBidirectional(decryptedTextScrollBar.valueProperty());
} else {
LOGGER.error("couldn't find scrollbars");
}
}Example 7
| Project: jfxtras-master File: EditRecurrenceRuleVBox.java View source code |
/**
* Provide necessary data to setup
*
* @param vComponent - component to be edited
* @param dateTimeStartRecurrenceNew - reference to start date or date/time from {@link EditDecriptiveVBox}
*/
public void setupData(T vComponent, ObjectProperty<Temporal> dateTimeStartRecurrenceNew) {
dateTimeStartProperty = new SimpleObjectProperty<Temporal>(vComponent.getDateTimeStart().getValue());
rrule = (vComponent.getRecurrenceRule() != null) ? vComponent.getRecurrenceRule().getValue() : null;
recurrenceRuleProperty = new SimpleObjectProperty<>(rrule);
this.vComponent = vComponent;
this.dateTimeStartRecurrenceNew = dateTimeStartRecurrenceNew;
if (!isSupported(vComponent)) {
throw new RuntimeException("Unsupported VComponent");
}
// Listen to DTSTART type changes (by selecting wholeDay in DescriptiveVBox)
dateTimeStartRecurrenceNew.addListener(( obs, oldValue, newValue) -> {
// Change EXCEPTIONS type
DateTimeType newType = DateTimeType.of(newValue);
Temporal[] convertedExceptions = exceptionsListView.getItems().stream().map( e -> {
Temporal converted = newType.from(e);
if (converted.isSupported(ChronoUnit.NANOS)) {
converted = converted.with(LocalTime.from(newValue));
}
return converted;
}).toArray( size -> new Temporal[size]);
exceptionsListView.getItems().clear();
exceptionsListView.getItems().addAll(convertedExceptions);
// Change UNTIL type
if (untilRadioButton.isSelected()) {
Temporal untilOld = vComponent.getRecurrenceRule().getValue().getUntil().getValue();
final Temporal untilNew;
if (newValue instanceof ZonedDateTime) {
LocalTime localTime = ((ZonedDateTime) newValue).withZoneSameInstant(ZoneId.of("Z")).toLocalTime();
untilNew = LocalDate.from(untilOld).atTime(localTime).atZone(ZoneId.of("Z"));
} else if (newValue instanceof LocalDateTime) {
LocalTime localTime = LocalTime.from(newValue);
untilNew = LocalDate.from(untilOld).atTime(localTime).atZone(ZoneId.of("Z"));
// untilNew = ((LocalDateTime) newValue.with((TemporalAdjuster) untilOld)).atZone(ZoneId.of("Z"));
} else {
untilNew = LocalDate.from(vComponent.getRecurrenceRule().getValue().getUntil().getValue());
}
rrule.setUntil(untilNew);
}
exceptionMasterList.clear();
refreshExceptionDates();
});
// Add or remove functionality and listeners when RRULE changes
recurrenceRuleProperty.addListener(( obs, oldValue, newValue) -> {
if (newValue != null) {
addListeners();
dateTimeStartProperty.addListener(dateTimeStartToExceptionChangeListener);
// vComponent.getDateTimeStart().valueProperty().addListener(dateTimeStartToExceptionChangeListener);
} else {
removeListeners();
dateTimeStartProperty.removeListener(dateTimeStartToExceptionChangeListener);
// vComponent.getDateTimeStart().valueProperty().removeListener(dateTimeStartToExceptionChangeListener);
}
});
/* EXCEPTIONS
* Note: exceptionComboBox string converter must be setup after the controller's initialization
* because the resource bundle isn't instantiated earlier.
*
* Note2:
* When exceptions change you can only on change ALL or CANCEL - a change is an addition or removal, not merely a TYPE change such as from toggling wholeDayCheckBoy
* TODO - NEED TO MAKE SURE TEMPORAL CLASS MATCHES WHOLE DAY CHECKBOX
*
*/
// exceptionFirstTemporal = vComponent.getDateTimeStart().getValue();
exceptionComboBox.setConverter(new StringConverter<Temporal>() {
// setup string converter
@Override
public String toString(Temporal temporal) {
DateTimeFormatter myFormatter = getFormatter(temporal);
return myFormatter.format(temporal);
}
@Override
public Temporal fromString(String string) {
throw new RuntimeException("not required for non editable ComboBox");
}
});
// turn on add button when exception date is selected in combobox
exceptionComboBox.valueProperty().addListener( obs -> addExceptionButton.setDisable(false));
exceptionsListView.getSelectionModel().selectedItemProperty().addListener( obs -> {
removeExceptionButton.setDisable(false);
});
// Format Temporal in exceptionsListView to LocalDate or LocalDateTime
final Callback<ListView<Temporal>, ListCell<Temporal>> temporalCellFactory = new Callback<ListView<Temporal>, ListCell<Temporal>>() {
@Override
public ListCell<Temporal> call(ListView<Temporal> list) {
return new ListCell<Temporal>() {
@Override
public void updateItem(Temporal temporal, boolean empty) {
super.updateItem(temporal, empty);
if (temporal == null || empty) {
setText(null);
setStyle("");
} else {
// Format date.
DateTimeFormatter myFormatter = getFormatter(temporal);
setText(myFormatter.format(temporal));
}
}
};
}
};
exceptionsListView.setCellFactory(temporalCellFactory);
/*
* Make infinite scroll bars for exception dates
*
* When node is attached to a scene an on-shown event handler is attached to the window
* to loop through all the vertical scroll bars to add value property listeners to them
* that adds data when scroll is near the extremes.
*
* The scroll bars don't exist before the node is attached to the scene which is why
* the sceneProperty listener and the onShown event handler are required.
*/
sceneProperty().addListener(( obs, oldScene, newScene) -> {
if (newScene != null) {
newScene.getWindow().setOnShown( event -> {
for (Node node : exceptionComboBox.lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar) {
final ScrollBar bar = (ScrollBar) node;
if (bar.getOrientation() == Orientation.VERTICAL) {
bar.valueProperty().addListener((ChangeListener<Number>) ( value, oldValue, newValue) -> {
if (((double) newValue > 0.9) && ((double) oldValue < 0.9)) {
int elements = exceptionComboBox.getItems().size();
if (elements == EXCEPTION_CHOICE_LIMIT) {
makeExceptionDates();
bar.setValue(.5);
}
} else if (((double) newValue < 0.1) && ((double) oldValue > 0.1)) {
int elements = exceptionComboBox.getItems().size();
Temporal firstElement = exceptionComboBox.getItems().get(0);
int indexInMasterList = exceptionMasterList.indexOf(firstElement);
int newIndex = Math.max((indexInMasterList - elements / 3), 0);
if (newIndex < indexInMasterList) {
makeExceptionDates();
bar.setValue(.5);
}
}
});
}
}
}
});
}
});
// SETUP CONTROLLER'S INITIAL DATA FROM RRULE
boolean isInitiallyRepeatable = (rrule != null);
if (isInitiallyRepeatable) {
setInitialValues(vComponent);
}
repeatableCheckBox.setSelected(isInitiallyRepeatable);
// DAY OF WEEK RAIO BUTTON LISTENER (FOR MONTHLY)
dayOfWeekRadioButton.selectedProperty().addListener(dayOfWeekButtonListener);
// LISTENERS TO BE ADDED AFTER INITIALIZATION
// Listeners to update exception dates
addListeners();
frequencyComboBox.valueProperty().addListener(frequencyListener);
}Example 8
| Project: gef-master File: InfiniteCanvas.java View source code |
/**
* Creates the {@link Group} designated for holding the scrollbars and
* places the scrollbars in it. Furthermore, event listeners are registered
* to update the scroll offset upon scrollbar movement.
*
* @return The {@link Group} designated for holding the scrollbars.
*/
protected Group createScrollBarGroup() {
// create horizontal scrollbar
horizontalScrollBar = new ScrollBar();
horizontalScrollBar.setVisible(false);
horizontalScrollBar.setOpacity(0.5);
// create vertical scrollbar
verticalScrollBar = new ScrollBar();
verticalScrollBar.setOrientation(Orientation.VERTICAL);
verticalScrollBar.setVisible(false);
verticalScrollBar.setOpacity(0.5);
// bind horizontal size
DoubleBinding vWidth = new DoubleBinding() {
{
bind(verticalScrollBar.visibleProperty(), verticalScrollBar.widthProperty());
}
@Override
protected double computeValue() {
return verticalScrollBar.isVisible() ? verticalScrollBar.getWidth() : 0;
}
};
horizontalScrollBar.prefWidthProperty().bind(widthProperty().subtract(vWidth));
// bind horizontal y position
horizontalScrollBar.layoutYProperty().bind(heightProperty().subtract(horizontalScrollBar.heightProperty()));
// bind vertical size
DoubleBinding hHeight = new DoubleBinding() {
{
bind(horizontalScrollBar.visibleProperty(), horizontalScrollBar.heightProperty());
}
@Override
protected double computeValue() {
return horizontalScrollBar.isVisible() ? horizontalScrollBar.getHeight() : 0;
}
};
verticalScrollBar.prefHeightProperty().bind(heightProperty().subtract(hHeight));
// bind vertical x position
verticalScrollBar.layoutXProperty().bind(widthProperty().subtract(verticalScrollBar.widthProperty()));
// fade in/out on mouse enter/exit
registerFadeInOutTransitions(horizontalScrollBar);
registerFadeInOutTransitions(verticalScrollBar);
horizontalScrollBar.valueProperty().addListener(horizontalScrollBarValueChangeListener);
verticalScrollBar.valueProperty().addListener(verticalScrollBarValueChangeListener);
return new Group(horizontalScrollBar, verticalScrollBar);
}Example 9
| Project: LifeTiles-master File: MiniMapScrollPaneSkinTest.java View source code |
@Before
public void setUp() {
// force to initialize Toolkit
new JFXPanel();
scrollBar = new ScrollBar();
scrollBar.setStyle("test");
skin = new MiniMapScrollPaneSkin(new ScrollPane());
}Example 10
| Project: bitcoin-exchange-master File: GUIUtil.java View source code |
public static double getScrollbarWidth(Node scrollablePane) {
Node node = scrollablePane.lookup(".scroll-bar");
if (node instanceof ScrollBar) {
final ScrollBar bar = (ScrollBar) node;
if (bar.getOrientation().equals(Orientation.VERTICAL))
return bar.getWidth();
}
return 0;
}Example 11
| Project: autopsy-master File: GroupPane.java View source code |
@ThreadConfined(type = ThreadType.JFX) private Optional<ScrollBar> getScrollBar() { if (gridView == null || gridView.getSkin() == null) { return Optional.empty(); } //NON-NLS return Optional.ofNullable((ScrollBar) gridView.getSkin().getNode().lookup(".scroll-bar")); }
Example 12
| Project: JXTN-master File: JFX.java View source code |
/**
* 建立新的{@link javafx.scene.control.ScrollBar}建構器。
*
* @return 新的{@link javafx.scene.control.ScrollBarMaker}
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static javafx.scene.control.ScrollBarMaker<javafx.scene.control.ScrollBar, ?> scrollBar() {
return new javafx.scene.control.ScrollBarMaker();
}Example 13
| Project: bitsquare-master File: GUIUtil.java View source code |
public static double getScrollbarWidth(Node scrollablePane) {
Node node = scrollablePane.lookup(".scroll-bar");
if (node instanceof ScrollBar) {
final ScrollBar bar = (ScrollBar) node;
if (bar.getOrientation().equals(Orientation.VERTICAL))
return bar.getWidth();
}
return 0;
}