ListView剪辑

时间:2012-07-26 13:07:30

标签: javafx-2

我使用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;
        }
    });

非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为这不可能。

也许尝试使用ListView的Skin。似乎滚动条在此类中进行管理。它不使用滚动窗格。

另一种解决方案可能是在ScrollPane中用VBox替换ListView。

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

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