2012-04-23 8 views
0

私はスドクボードを構築しようとしています。今はボードを手に入れようとしているだけですが、私は線を描こうとしましたが、これはより良いと言われました....私はまだこれを動作させていません。私が間違っていることのヒント数独ボード用JComponentビルド

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);    
      } 
     } 
    } 
} 
+0

私自身、JLabelsのグリッドを保持するGridLayoutを使用したJPanelを使用しました。マッスルではない。 –

+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 –

+0

OK、ここで私はグリッドレイアウトを取得しようとしています...しかし、私はこれをjframe上に配置している場合、私はこれを使用してJbuttonを単一のJpanelに配置しますこれはうまくいく。かなりシンプルなようです...私は多くの要素を持っていますか? –

答えて

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);    
     } 
    } 
} 
} 
関連する問題