0

我在 JavaFx2 的 ListView 上工作了一点。我遇到了一个问题。是否可以关闭 ListCell/ListView 的剪辑?我添加了一个必须比 ListView 更宽的 ImageView,JavaFx2 会自动显示一个滚动条。

这是我的代码剪断了我如何将 ImageView 添加到我的列表中:

     list.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
        @Override
        public ListCell<String> call(ListView<String> param) {
            final ListCell<String> blub = new ListCell<String>() {

                @Override
                protected void updateItem(String item, boolean empty) {
                    super.updateItem(item, empty);
                    if (item != null) {
                        StackPane p = new StackPane();
                        Label label = new Label(item);
                        p.getChildren().addAll(img, label);
                        setGraphic(p); 
                        p.setAlignment(Pos.CENTER_LEFT); 

                    }
                }
            };
            blub.setStyle("-fx-background-color:transparent");

            return blub;
        }
    });

非常感谢!

4

1 回答 1

1

我不认为这是可能的。

也许尝试使用 ListView 的皮肤。滚动条似乎是在这个类中管理的。它不使用滚动窗格。

另一种解决方案可能是将 ListView 替换为 ScrollPane 中的 VBox。

最后,您可以尝试修改img(顺便说一下,它来自哪里,以及它是什么类?)以仅显示您需要的内容。

无论如何,我对您将使用的解决方案感兴趣。

于 2012-07-26T16:52:47.473 回答