有一天這段代碼正在工作。我改變了一些東西,重新運行它,現在它不能按預期工作。很明顯,我改變了一些行爲,但我已經回去並恢復了所有這些變化,但仍然無效。忽略這一點信息(開始),爲什麼這段代碼不在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。它有一個首選大小,最大大小(與首選相同)。水平/垂直可調整大小的選項被禁用,但是當這段代碼運行時,每一個按鈕在一行中水平延伸而不會中斷。
如果我理解正確,FlowLayout應該在元素到達其包含元素的末尾時包裝元素。這是在今天之前發生的,我真的不知道爲什麼這種行爲停止了?
我不想要替代品,而是組件永遠不會包裝的原因。 – 2009-05-02 17:53:16
不客氣。 – Pool 2009-05-03 01:16:20
我不明白這個答案可以如何排名?它不回答這個問題,提供了一個備用的解決方案和可疑的指導! – Jeach 2010-08-03 04:07:18