代码之家  ›  专栏  ›  技术社区  ›  Chris-NTA

javafx-clipview到一个组?

  •  0
  • Chris-NTA  · 技术社区  · 16 年前

    我可以将clipview应用于垂直扩展组吗?时不时地,我将文本追加到一个组中,并希望使用滚动条在该组中导航。当我将滚动条部分分配给组本身时,它正在工作,但要使用clipview限制组的大小。

    有经验吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   JimClarke    16 年前

    clipView基本上只是在其内容中创建一个视图门户。下面是一个简单的例子。(当clip.maxy为<scene.height时,需要正确处理clipy)。

    var group = VBox { };
    var ndx:Integer = 0;
    def cv : ClipView = ClipView {
        pannable: false
        node: group
        width: bind scene.width - sb.layoutBounds.width
        height: bind scene.height
    };
    var scene: Scene;
    var sb: ScrollBar;
    Stage {
        title: "ClipView Test"
        scene: scene = Scene {
            width: 250
            height: 80
            content: [
                cv,
                Rectangle {
                    layoutX: bind scene.width - sb.layoutBounds.width - 50
                    width: 50
                    height: 50
                    fill: Color.RED
                    onMouseClicked: function(e) {
                        insert Text { content: "Text - {ndx++}" } into group.content;
                        if(cv.maxClipY > scene.height) {
                            cv.clipY = cv.maxClipY;
                        }
                    }
                }
                sb = ScrollBar {
                    vertical: true
                    layoutX: bind scene.width - sb.layoutBounds.width
                    height: bind scene.height
                    min: 0
                    max: bind cv.maxClipY
                    value: bind cv.clipY with inverse
                }
    
            ]
        }
    }
    
    推荐文章