每個在Layout上的Component都有四個size(height, width)
- Component.getMinimumSize() - 最小的極限值
- Component.getMaximumSize() - 最大的極限值
- Component.getPreferredSize() - 理想的大小
- Component.getSize() - 目前實際的大小
而Layout Manager做的事就是決定每一個Component的大小以及放置的位子。當呼叫Container.validate(),則Container的Layout manager就會經由getMinimumSize()、getMaximumSize()、getPreferredSize()的提示,透過setBounds(x, y, width, height)來設定每一個Component真正的大小以及位置。而Layout manager所做的這些事是透過呼叫- layoutContainer(Container c)
然而,container也需要有getMiniumumSize()、getMaximumSize、getPreferredSize()這些函式,因為他也是個Component包住整個Container。所以Layout manager也必須考量Container內所有的Component的總大小來容納它們。這些事情是間接透過更上層的Layout manger來做到的- preferredLayoutSize(Container c)
- maximumLayoutSize(Container c)
- minimumLayoutSize(Container c)
0 意見:
張貼留言