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 に答える