2017-11-05 19 views
0

これは、スクロールペインの内部にあるグリッドパネル(次のコードニップではrefPane)に乗算VBoxを追加しようとしています。javafxのスクロール可能なグリッドペイン

int columnIndex = 0; 
    int rowIndex = 0; 
    int boxWidth = windowWidth/ITEMS_PER_ROW; 
    int boxHeight = windowHeight/ITEMS_PER_COLUMN; 

    for(int i=0; i<items.size(); i++){ 
     VBox vBox = new VBox(); 
     vBox.setPrefWidth(boxWidth); 
     vBox.setPrefHeight(boxHeight); 

     Label label1 = new Label(); 
     label1.setText("ImgPlaceholder"); 
     label1.setPrefWidth(boxWidth); 
     label1.setPrefHeight(boxHeight/100 * 70); 
     vBox.getChildren().add(label1); 

     Label label2 = new Label(); 
     label2.setText("Description"); 
     label2.setPrefWidth(boxWidth); 
     label2.setPrefHeight(boxHeight/100 * 30); 
     label2.setPadding(new Insets(0,0,0, 10)); 
     vBox.getChildren().add(label2); 

     refPane.add(vBox, columnIndex, rowIndex); 

     if(columnIndex != 0 && columnIndex % GAMES_PER_ROW == 0){ 
      rowIndex++; 
      columnIndex = 0; 
     }else { 
      columnIndex++; 
     } 

これは、ITEMS_PER_ROW Vboxを1行に追加しなくても、次の行に続きます。 ITEMS_PER_COLUMが表示されている行もなくなるはずです。 問題は、ITEMS_PER_ROW * ITEMS_PER_COLUMNをグリッドに追加すると、スクロール可能でなく、vboxのサイズが小さくなってしまうことです。

すべてのアイデア?前もって感謝します。

答えて

1

javafxは、VBoxのグリッドペインを拡大することを優先している可能性があります。各VBoxのminHeightprefHeightと同じに設定して、垂直に収縮しないようにしてください。

+0

これは簡単でした。ありがとうございます:) – cyden

+0

@cyden大歓迎です。 – luckydog32

関連する問題