簡體   English   中英

如何制作新網格?

[英]How do I make a new grid?

我在GridLayout中放了一堆按鈕。 如果我希望用戶能夠在運行時更改網格大小,如何生成新的網格? 我嘗試重置行/列並重新添加按鈕,但是沒有任何變化。

后期編輯應付代碼段以調整網格大小:

GridLayout layout = new GridLayout(10, 10);;

void makeGrid(int newSize) {
    for(int i = 0; i <= gridSize; i++) {
       for(int j = 0; j <= gridSize; j++) {
          layout.removeLayoutComponent(grid[i][j]);
       }
    }

    gridSize = newSize;
    layout = new GridLayout(gridSize, gridSize);
    panel.setLayout(layout);

    for(int i = 0; i <= gridSize; i++) {
       for(int j = 0; j <= gridSize; j++) {
          panel.add(grid[i][j]);
       }
    }
    pack();
}

嘗試定義一個單獨的方法來顯示按鈕,例如

// pane is your JPanel object
public void displayButtons(){
   pane.add(btn1);
   pane.add(btn2);
   pane.add(btn3);
   pane.add(btn4);
   pane.add(btn5);
   pane.add(btn6);
   pack(); // <- make sure you include this code
}

然后從您的類偵聽器中,設置一個新的布局,然后調用displayButtons()方法。

pane.setLayout(new GridLayout(0,2));
displayButtons();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM