JavaFX垂直滑块

时间:2013-03-03 19:29:57

标签: slider javafx

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

slider

2 个答案:

答案 0 :(得分:4)

  

如何垂直放置滑块?

使用setOrientation

slider.setOrientation(Orientation.VERTICAL);
  

我希望Thumb只能拖动到Tick标记,而不是在中间空间,我怎样才能实现呢?

在设置适当的滴答单位,计数和块增量后使用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); }
}

enter image description here

  

我正在探索JavaFX,我必须说我对学习材料的运气感到有些失望。

关于Oracle开发的JavaFX文档的电子邮件(建设性)反馈:

jfx-docs-feedback_ww@oracle.com

答案 1 :(得分:0)

使用Java 8及其JavaFX 8及其相应的SceneBuilder即将发布(此时它仍然是使用SceneBuilder 2.2的Java 7 GA),人们应该更熟悉使用它。对于那些不了解每个特殊属性的人来说,它是一个强大的工具,并希望实现新的JavaFX及其FXML为我们提供的控制反转原理。

以下是我展示最受欢迎的项目中的一个示例 每个节点上的属性

enter image description here

虽然我有时候可以理解你,但是如果出现一些新功能而感到沮丧,那么这个节点可以做的更高级的例子可能会更容易找到它,但作为程序员你需要学会使用相应的API。如果在PHP社区中拥有每个API文档的一部分,那么可以将其作为维基进行维护。