На днях этот код работал. Я изменил некоторые вещи и перезапустил его, и теперь он не работает, как задумано. Очевидно, что то, что я изменил, изменило поведение, но я вернулся и отменил все эти изменения, и это все еще не работает. Не обращая внимания на этот бит информации (для начала), почему этот код не размещает сетку JLabels 15x15 внутри JPanel?
gameBoard.setLayout(new FlowLayout());
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 15; j++)
{
JLabel tile = new JLabel("");
tile.setHorizontalAlignment(SwingConstants.CENTER);
tile.setPreferredSize(new Dimension(27, 27));
tile.setBorder(new EtchedBorder());
tile.setEnabled(false);
gameBoard.add(tile);
}
}
gameBoard - это JPanel, определенный через GUI Builder NetBeans. Он имеет предпочтительный размер, максимальный размер (такой же, как предпочтительный). Параметры горизонтального / вертикального изменения размера отключены, однако, когда этот код запускается, каждая кнопка расширяется по горизонтали, не прерываясь.
Если я правильно понимаю, FlowLayout должен обернуть элементы, когда они достигнут конца содержащего их элемента. Это происходило до сегодняшнего дня, я действительно не знаю, почему это поведение прекратилось?