2012-07-26 56 views
0

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

这是我的代码剪断我如何的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

我不认为这是可能的。

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

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

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

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

+0

谢谢你的回答。我正在研究解决方案,如果我找到了一个很好的解决方案,我会在这里提交。 – moohkooh 2012-07-27 06:08:36