2012-04-23 54 views
0

我想建立一個sudoku董事會。現在,我只是試圖讓董事會來繪製,我試圖畫線,但被告知這是更好的....我還沒有得到這個工作。需要什麼我做錯了Sudoku板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

我自己,我剛剛使用了一個GridLayout使用JPanel,它擁有一個JLabels網格。沒有麻煩,沒有大驚小怪。 – 2012-04-23 23:37:02

+0

爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2012-04-24 00:16:39

+0

好的,在這裏我試圖讓網格佈局工作......但是如果最後我把這個放到一個jframe上,我會使用它來把Jbuttons放到單個Jpanel上,我似乎無法得到這工作。似乎很簡單..我有很多元素嗎? – 2012-04-24 07:07:17

回答

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