30/09/2018, 18:25

Em muốn tạo 100 cái ô JButton nhưng khi bấm run thì nó hiện thị không đúng

Mọi người cho em hỏi là đoạn code này

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package caro.demo;

import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 *
 * @author haixo
 */
public class Caro extends JFrame{
    private JButton [][] banco;
    public Caro(){
        setVisible(true);
        setSize(600,600);
        setLayout(new GridLayout(10, 10));
        banco = new JButton[10][10];
        for(int i =0 ;i<10;i++){
            for(int j = 0;j<10;j++){
               banco[i][j] = new JButton();
               this.add(banco[i][j]);
            }
        }
    }
    

    public static void main(String []args){
      Caro game = new Caro();
    }
}

Em muốn tạo 100 cái ô JButton nhưng khi bấm run thì nó hiện thị không đúng , phải khi ta lấy chuột thay đổi size của Frame thì nó mới hiện đúng 100 ô ra ạ ?
Ai biết giúp em với

BigCat viết 20:34 ngày 30/09/2018

Hi, because u set your form size 600x600. It’s not enough for 100 default cell button (70x25) and it also not square. So after add 100 button u need call method
validate or revalidate to laying out its subcomponents

 for(int i =0 ;i<10;i++){
 for(int j = 0;j<10;j++){
 banco[i][j] = new JButton();
 this.add(banco[i][j]);
 }
 }
 }
 this.validate();
Bài liên quan
0