数独板的JComponent构建

时间:2012-04-23 23:34:32

标签: java swing jframe jcomponent sudoku

我正在尝试构建一个数独板。现在我只是试图让董事会画画,我试图画线,但被告知这更好....我还没有得到这个工作的作品。关于我做错的任何提示

import java.awt.Component;
import java.awt.GridLayout;

import javax.swing.*;

public class SudokuView4 extends JPanel {
    int rows = 3;
    int col = 3;
    public JPanel container = new JPanel(new GridLayout(rows*col,rows*col));

    public SudokuView4(SudokuBase sb) {
        // TODO Auto-generated constructor stub

        for(int r = 0; r < rows; r++){
            for(int c = 0; c < col; c++){
                //container.add(Region(rows,col));
                //add(build);
                //build.setSize(50, 50)
                Region();
                container.setVisible(true);
            }
        }
    }

    //class Region extends JPanel {

    public void Region( ) {
        //setLayout(new GridLayout(3,3));
        //JPanel grid = new JPanel(new GridLayout(3,3));
        //grid.setSize(50, 50);

        for(int r1 = 0; r1 < rows; r1++){
            for(int c1 = 0; c1 < col; c1++){
                //JPanel grid = new JPanel();
                JButton build = new JButton();

                container.add(build);
                //container.setVisible(true);               
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

JPanel容器需要放在JFrame内部,并在添加按钮后更新。这是因为您的目标是运行Java应用程序。

import java.awt.Component;
import java.awt.GridLayout;

import javax.swing.*;

public class SudokuView4 extends JPanel {
int rows = 3;
int col = 3;
public JPanel container = new JPanel(new GridLayout(rows*col,rows*col));

// added main for testing
public static void main(String [] args){
    SudokuView4 sudoku = new SudokuView4();
}

public SudokuView4(/*SudokuBase sb*/) {
    // TODO Auto-generated constructor stub
    JFrame frame = new JFrame();
    frame.add(container);


    for(int r = 0; r < rows; r++){
        for(int c = 0; c < col; c++){
            //container.add(Region(rows,col));
            //add(build);
            //build.setSize(50, 50)
            Region();
            container.setVisible(true);
        }
    }

    frame.setSize(300,300);
    frame.setVisible(true);
}

//class Region extends JPanel {

public void Region( ) {
    //setLayout(new GridLayout(3,3));
    //JPanel grid = new JPanel(new GridLayout(3,3));
    //grid.setSize(50, 50);

    for(int r1 = 0; r1 < rows; r1++){
        for(int c1 = 0; c1 < col; c1++){
            //JPanel grid = new JPanel();
            JButton build = new JButton();

            container.add(build);
            //container.setVisible(true);               
        }
    }
}
}