Вертикальный слайдер JavaFX

Я изучаю JavaFX и должен сказать, что немного разочарован отсутствием учебного материала. Я новичок в JavaFX, но у меня есть некоторый опыт работы с Swing. Как разместить ползунок вертикально? И еще один вопрос, я хочу, чтобы Thumb можно было перетаскивать только на Tick marks, а не в промежуточное пространство, как мне этого добиться?

slider


person giannis christofakis    schedule 03.03.2013    source источник
comment
-1: Нехватка учебного материала? Только на сайте учебных пособий есть множество статей. Также ничто не заменит просмотр справочника по API< /а>.   -  person millimoose    schedule 05.03.2013


Ответы (2)


Как разместить ползунок вертикально?

Используйте setOrientation

slider.setOrientation(Orientation.VERTICAL);

Я хочу, чтобы большой палец можно было перетаскивать только до галочек, а не в промежуточном пространстве, как мне этого добиться?

Используйте setSnapToTicks. после установки соответствующей единицы тика, счетчика и приращения блока.

slider.setMajorTickUnit(0.25f);
slider.setMinorTickCount(1);
slider.setBlockIncrement(0.125f);
slider.setSnapToTicks(true);

Пример приложения:

import static javafx.application.Application.launch;
import javafx.application.*;
import javafx.event.*;
import javafx.geometry.Orientation;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class VerticalSliderSample extends Application {
  @Override public void start(Stage stage) {
    Slider slider = new Slider(0, 1, 0.5);
    slider.setShowTickMarks(true);
    slider.setShowTickLabels(true);
    slider.setMajorTickUnit(0.25f);
    slider.setMinorTickCount(1);
    slider.setBlockIncrement(0.125f);
    slider.setSnapToTicks(true);

    slider.setOrientation(Orientation.VERTICAL);

    VBox layout = new VBox(10);
    layout.setStyle("-fx-background-color: cornsilk; -fx-padding: 10;");
    layout.getChildren().setAll(slider);
    stage.setScene(new Scene(layout));
    stage.show();
  }

  public static void main(String[] args) { launch(args); }
}

введите здесь описание изображения

Я изучаю JavaFX и должен сказать, что немного разочарован удачей в изучении материала.

Отправляйте (конструктивные) отзывы о документации JavaFX, разработанной Oracle, по адресу:

[email protected]

person jewelsea    schedule 04.03.2013

С Java 8 и вместе с ней JavaFX 8 и соответствующий ему SceneBuilder грядет (на момент публикации это все еще Java 7 GA с SceneBuilder 2.2), люди должны познакомиться с ним поближе. Это мощный инструмент для людей, которые не знают каждый специальный атрибут с головы до ног и хотят практиковать принцип инверсии управления, который предлагает нам новый JavaFX и его FXML.

Вот пример одного из моих проектов, показывающий самые популярные свойства на каждом узле.

введите здесь описание изображения

Хотя иногда я могу понять вас, потому что вы расстраиваетесь, особенно если появляются какие-то новые функции, что некоторые примеры более высокого класса, что может сделать этот Node, и, возможно, вам проще, но как программисту вам нужно научиться работать с соответствующим API. Было бы неплохо иметь часть документации по каждому API, как в сообществе PHP, где вы можете поддерживать ее как вики.

person thatsIch    schedule 19.09.2013