javafx如何实现滚动条

假如有一个很长面板,面板里包含了很多组件,如何通过滑动条实现在一个较小的窗口里观看这些内容。如果可以能不能留下QQ之类的联系方式。... 假如有一个很长面板,面板里包含了很多组件,如何通过滑动条实现在一个较小的窗口里观看这些内容。
如果可以能不能留下QQ之类的联系方式。
展开
 我来答
约定20125
2018-09-03 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:2885万
展开全部

ScrollBar类经常带有一个可滚动的窗格。

滚动条有四个区域:

  • 拇指

  • 右按钮或向下按钮

  • 左按钮或向上按钮

  • 跟踪

  • 上面的代码生成以下结果。

    创建滚动条

    以下代码使用其默认构造函数创建滚动条。

  • ScrollBar sc = new ScrollBar();Java

  • setMin()和setMax()方法定义滚动条表示的最小值和最大值。setValue()方法设置滚动的当前值,也设置拇指的位置。

  • sc.setMin(0);sc.setMax(100);sc.setValue(50);Java

  • 当用户移动缩略图时,滚动条的值会更改。默认情况下,滚动条水平定向。我们可以使用setOrientation()方法设置垂直方向。

    我们可以单击水平滚动条的左和右按钮或者向上和向下按钮,垂直滚动条以单位增量滚动。 UNIT_INCREMENT属性设置此值。
    单击轨道可使滚动条移动块增量。BLOCK_INCREMENT属性定义此值。

  • import javafx.application.Application;import javafx.geometry.Orientation;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.ScrollBar;import javafx.stage.Stage;/*  w  ww. j  a v  a 2  s. c om*/public class Main extends Application {

  •    @Override

  •    public void start(Stage stage) {

  •        Group root = new Group();

  •        Scene scene = new Scene(root, 500, 200);

  •        stage.setScene(scene);


  •        ScrollBar s1 = new ScrollBar();

  •        s1.setMax(500);

  •        s1.setMin(0);

  •        s1.setValue(100);

  •        s1.setUnitIncrement(30);

  •        s1.setBlockIncrement(35);


  •        s1.setOrientation(Orientation.VERTICAL);


  •        root.getChildren().add(s1);

  •        stage.show();

  •    }

  •    public static void main(String[] args) {

  •        launch(args);

  •    }}Java

  • 上面的代码生成以下结果。

    滚动事件

    以下代码为滚动事件从滚动条添加事件处理程序。

  • import javafx.application.Application;import javafx.beans.value.ObservableValue;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.ScrollBar;import javafx.stage.Stage;public class Main extends Application {

  •    @Override

  •    public void start(Stage stage) {

  •        Group root = new Group();

  •        Scene scene = new Scene(root, 500, 200);

  •        stage.setScene(scene);


  •        ScrollBar s1 = new ScrollBar();


  •        s1.valueProperty().addListener((ObservableValue<? extends Number> ov,

  •            Number old_val, Number new_val) -> {

  •                System.out.println(-new_val.doubleValue());

  •        });          

  •        root.getChildren().add(s1);

  •        stage.show();

  •    }

  •    public static void main(String[] args) {

  •        launch(args);

  •    }}Java

  • 上面的代码生成以下结果。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-09-02
展开全部
什么面板?你没说清具体遇到了什么问题?就很难定位问题。详细一点吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式