0

我正在尝试建立一个数独板。现在我只是想让板子画出来,我试过画线,但被告知这样更好……我还没有让它工作。关于我做错了什么的任何提示

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);               
            }
        }
    }
}
4

1 回答 1

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);               
        }
    }
}
}
于 2012-09-19T17:34:57.513 回答