Как отобразить сетку JPanel

#java #jpanel #grid-layout

#java #jpanel #сетка-макет

Вопрос:

Я создаю Tetris для школьного проекта и пытаюсь выяснить, как создать сетку внутри JPanel. Сетка будет состоять из 10 строк и 22 столбцов. У меня есть доска классов, которая содержит всю игровую логику. Моя роль заключается в реализации класса в графике.

 public class Board extends JPanel {
...
public Board() {
   ....
    setLayout(new GridLayout(10,22));
    setFocusable(true);
  

Затем я бы добавил эту панель в JFrame, состоящий из других панелей, но панель платы не отображается. Как я могу показать видимую плату, вложенную в JPanel, даже если у меня на самом деле внутри нее ничего нет?

Ответ №1:

Вы должны использовать border. Пример;

 JPanel panel = new JPanel(new GridLayout(10,10));
panel.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));

for (int i =0; i<(10*10); i  ){
    final JLabel label = new JLabel("Label");
    label.setBorder(BorderFactory.createLineBorder(Color.BLACK));
    panel.add(label);
}