2012-07-26 46 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