2012-02-09 65 views

回答

2

您的LogView類擴展JPanel,因此除非您更改它,否則它使用JPanel的默認佈局FlowLayout。在容器更改大小時,保存在FlowLayout使用容器中的組件不會更改大小,因此如果需要此行爲,則不需要組件監聽器 - 只需將LogView JPanel的佈局管理器更改爲BorderLayout或類似的東西,允許其持有的組件擴大,就是這樣。一行代碼:

public LogView(final JFrame contentPane) { 

    // ....... 

    setLayout(new BorderLayout()); // add this, that's it 
    add(mainPanel); 
} 

另一種選擇是擺脫mainPanel中,因爲它似乎沒有必要在所有的,要設置你的日誌查看對象的佈局是GridBagLayout的和你的組件直接添加到LogView對象。