先日、このコードは機能していました。いくつか変更して再実行しましたが、意図したとおりに機能しません。明らかに、私が変更したものによって動作が変更されましたが、戻ってそれらの変更をすべて元に戻しましたが、それでも機能しません。(開始するために)そのビットの情報を無視して、なぜこのコードはJPanel内にJLabelの15x15グリッドを配置しないのですか?
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は、NetBeansのGUIビルダーを介して定義されたJPanelです。推奨サイズ、最大サイズ(優先と同じ)があります。水平/垂直のサイズ変更可能なオプションは無効になっていますが、このコードを実行すると、すべてのボタンが途切れることなく水平方向に連続して拡張されます。
私が正しく理解していれば、FlowLayoutは、要素が含まれている要素の最後に到達したときに要素をラップすることになっています。これは今日以前に起こっていました、なぜこの振る舞いが止まったのか本当にわかりませんか?