このコードは動作していました。私はいくつかのことを変更し、それを再実行し、今は意図したとおりに動作しません。明らかに私が変更したものが行動を変えましたが、私は戻ってその変化をすべて取り戻しましたが、それはまだ機能しません。その情報のビットを無視して(なぜなら)、このコードはJPanel内部に15x15のJLabelグリッドを配置しないのはなぜですか?JPanelが飛び出し、FlowLayoutが意図したとおりに動作しない
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です。それは好ましいサイズ、最大サイズ(好ましいと同じ)を有する。水平/垂直のサイズ変更可能なオプションは無効になっていますが、このコードが実行されるときに、すべてのボタンが1つの行で途切れることなく水平方向に拡張されます。
私が正しく理解していれば、FlowLayoutはエレメントが含まれているエレメントの終わりに達したときにエレメントをラップすることになっています。これは今日の前に起きていましたが、なぜこの行動が止まったのか分かりません。
私は、代わりにコンポーネントがラップされない理由はなく、むしろ理由がないようにしたいと思います。 –
ようこそ。 – Pool
この回答がどのようにランクアップできるのか理解できません。それは、別の解決策と疑わしい指針を提供する、質問に答えることはありません! – Jeach