日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
JavaFX2.0網格布局窗格GridPane

public class GridPane extends Pane

GridPane將其孩子結點靈活地放置在行列網格中。若設置了邊框和邊緣(border and/or padding),它的內容只能在這些間隙內部。

孩子結點可以放置在任意位置并且可以跨行列。結點也可以在行列內隨便覆蓋,網格窗格孩子結點列表中的順序決定了這些結點的堆棧順序:***個在最下,***一個在上面。

GridPane也可以使用CSS來裝飾。

網格約束

孩子結點的位置由其布局約束來定義:

約束 類型 描述
columnIndexinteger孩子結點的起始列
rowIndexinteger孩子結點的起始行
columnSpaninteger孩子結點的水平跨列數目
rowSpaninteger孩子結點的垂直跨行數目

若孩子結點的位置沒被指定,則將其放入***行列中。若跨行列數沒有指定,默認為1。孩子結點的位置約束可以動態(tài)修改,網格窗格會隨著更新。

總的行列數無需指定,窗格會根據內容自動擴展和收縮。

使用GridPane時,程序需要為孩子結點指定布局約束并將它們加入窗格中。約束使用的是該類的靜態(tài)setter方法:

 
 
 
  1. GridPane gridpane = new GridPane(); 
  2.  
  3. // Set one constraint at a time... 
  4. Button button = new Button(); 
  5. GridPane.setRowIndex(button, 1); 
  6. GridPane.setColumnIndex(button, 2); 
  7.  
  8. // or convenience methods set more than one constraint at once... 
  9. Label label = new Label(); 
  10. GridPane.setConstraints(label, 3, 1); 
  11.  
  12. // column=3 row=1 
  13.  
  14. // don't forget to add children to gridpane 
  15. gridpane.getChildren().addAll(button, label); 

更可以使用整合了以上步驟的方法來設置約束:

 
 
 
  1. GridPane gridpane = new GridPane(); 
  2. gridpane.add(new Button(), 2, 1); 
  3.  
  4. // column=2 row=1 
  5. gridpane.add(new Label(), 3, 1); 
  6.  
  7. // column=3 row=1 

行列大小

行列尺寸默認是匹配內容的,列寬適應的是最寬的元素,行高適應的是***的元素。然而,如果程序需要指定行列尺寸,可以通過RowConstraints 和ColumnConstraints對象指定。比如,

 
 
 
  1. GridPane gridpane = new GridPane(); 
  2. gridpane.getColumnConstraints().add(new ColumnConstraints(100)); 
  3. // column 1 is 100 wide 
  4. gridpane.getColumnConstraints().add(new ColumnConstraints(200)); 
  5. // column 2 is 200 wide 

行列默認會動態(tài)修改大小。若程序需要特定的行列來適應額外的空間,可以設置 RowConstraints或 ColumnConstraints 對象的優(yōu)先級。比如

 
 
 
  1. GridPane gridpane = new GridPane(); 
  2. ColumnConstraints column1 = new ColumnConstraints(100,100,Double.MAX_VALUE); 
  3. column1.setHgrow(Priority.ALWAYS); 
  4.  
  5. ColumnConstraints column2 = new ColumnConstraints(100); 
  6. gridpane.getColumnConstraints().addAll(column1, column2);  
  7. // first column gets any extra width 

百分百大小

或者,RowConstraints 和ColumnConstraints可以通過指定百分百來實現。

 
 
 
  1. GridPane gridpane = new GridPane(); 
  2. ColumnConstraints column1 = new ColumnConstraints(); 
  3. column1.setWidthPercent(50); 
  4.  
  5. ColumnConstraints column2 = new ColumnConstraints(); 
  6. column2.setWidthPercent(50); 
  7.  
  8. gridpane.getColumnConstraints().addAll(column1, column2); // each get 50% of width 

指定百分百后,行列的三個最值都會被忽略。

如果百分百總值超過了100,它們的值會被當成權重。

可選布局約束

約束 類型 描述
halignmentjavafx.geometry.HPos布局區(qū)域中孩子結點的水平位置.
valignmentjavafx.geometry.VPos布局區(qū)域中孩子結點的垂直位置.
hgrowjavafx.scene.layout.Priority孩子結點的水平成長優(yōu)先級.
vgrowjavafx.scene.layout.Priority孩子結點的垂直成長優(yōu)先級.
marginjavafx.geometry.Insets孩子結點的外部邊空間.

名稱欄目:JavaFX2.0網格布局窗格GridPane
網站網址:http://www.dlmjj.cn/article/dpgggic.html