هنا أريد عمل قاعدة مكونة من 10 خانات أى (4 صفوف ، 3 أعمدة ) كل صف يحتوى على 3 خانات ما عدا الصف الأخير خانة واحدة !!
تم عمل ذلك ؛ و لكنه يعرض كل الخانات بجانب بعضهم البعض على رغم إنه من المفترض أن يتحرك لسطر جديد عند الإنتقال لقيمة صف جديد فى المصفوفة
ما المشكلة ؟!!
الشفرة :
------------
import java.awt.*;
import javax.swing.*;
public class TestBoard extends JFrame {
private Board board=null;
private JPanel panel=null;
public TestBoard() {
panel=new JPanel(new BorderLayout());
board=new Board();
panel.add(board);
getContentPane().add(panel);
}
public static void main(String[] args) {
TestBoard testBoard = new TestBoard();
testBoard.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testBoard.setSize(new Dimension(400, 400));
testBoard.setLocationRelativeTo(null);
testBoard.setVisible(true);
testBoard.setResizable(false);
}
}
///////////////////////////////////////////////////////////////////////
import java.awt.*;
import javax.swing.*;
public class Board extends JPanel {
private JPanel mainPanel;
private JPanel[][] myBoard;
private final int x_size = 3, y_size = 4;
public Board() {
mainPanel = new JPanel();
myBoard = new JPanel[x_size][y_size];
createBoard();
}
private void createBoard() {
for (int y = 0; y < y_size; y++) {
for (int x = 0; x < x_size; x++) {
myBoard[x][y] = new JPanel();
myBoard[x][y].setBorder(BorderFactory.createEtchedBorder());
myBoard[x][y].setPreferredSize(new Dimension(30, 50));
mainPanel.add(myBoard[x][y]);
}
}
add(mainPanel);
}
}