【问题标题】:JavaFX vertical sliderJavaFX 垂直滑块
【发布时间】:2013-03-03 19:29:56
【问题描述】:

我正在探索JavaFX,我必须说我对缺乏学习材料有点失望。我是JavaFX 的新手,但我对Swing 有一些经验. 如何垂直放置滑块? 还有一个问题,我希望Thumb 只能拖动到Tick marks,而不是在中间空间,我该如何实现?

【问题讨论】:

标签: slider javafx


【解决方案1】:

如何垂直放置滑块?

使用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,我必须说我对学习材料的运气有点失望。

将有关 Oracle 开发的 JavaFX 文档的(建设性)反馈通过电子邮件发送至:

jfx-docs-feedback_ww@oracle.com

【讨论】:

    【解决方案2】:

    随着 Java 8 和 JavaFX 8 及其对应的 SceneBuilder 的到来(在发布时它仍然是带有 SceneBuilder 2.2 的 Java 7 GA),人们应该会更加熟悉使用它。对于那些不了解每个特殊属性并希望实践新 JavaFX 及其 FXML 提供给我们的控制反转原则的人来说,它是一个强大的工具。

    这是我的一个项目中的一个示例,用于展示最受欢迎的 每个节点的属性

    虽然我有时可以理解你,特别是当一些新功能出现时感到沮丧,一些更高级别的示例这个节点可以做什么并且可能会发现它更容易,但作为一名程序员,你需要学习使用相应的API。最好在每个 API 文档中都有一部分,例如在 PHP 社区中,您可以在其中将其作为 wiki 进行维护。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多