2012-02-28 68 views
2

我读过如果jpanel上没有设置最小大小,则调用getMinimumSize将委派给面板的布局管理器。如果在面板上设置了最小大小,那么当调用getMinimumSize时将返回此维度,而不是布局管理器。我想在我的JPanel上只设置一个最小高度,并将最小宽度的检索留给面板的布局管理器,因为我想让最小宽度不管布局管理器决定。是否可以只设置JPanel的最小高度?JPanel - 仅设置最小高度

+0

这是什么决定或设置最低高度? – 2012-02-28 10:45:33

+1

不会影响LayoutManager决定的内容,而是使用一个可以做你想做的事情的LayoutManager :-) – kleopatra 2012-02-28 12:06:42

回答

5

重写getMinimumSize()方法。在调用super的方法中,替换结果中的高度。

+1

如果这在代码方面有效,它将无法用于布局,因为计算最小尺寸的布局管理器具有不知道你是否将高度强加于不同的事物。如果你想强制最小尺寸的高度,你应该实现你的owne布局管理器,以便将它考虑在内 – 2012-02-28 09:11:54

+3

布局管理器确实计算它管理的容器的最小尺寸,而不是该容器内的组件。重写getMinimumSize()应该可以工作(假设布局管理器尊重它)。 – 2012-02-28 09:57:15

+0

它工作得很好,谢谢! – Joeblackdev 2012-02-28 19:57:33