Tag: fixed width

固定宽度,JPanel中带有流量的可变高度

我对Java的布局管理器有一个恼人的问题。 我有以下情况:在面板A中是另外两个具有绝对布局的面板B和具有FlowLayout的C. B是高度自定义的,并通过setPreferredSize设置固定大小。 C应具有与B相同的固定宽度,但是具有可变高度,具体取决于流中添加的组件数量。 结果A应该具有固定的宽度和A.height + B.height作为高度 – 至少这是我想要的。 然而,我得到的是面板A的宽度根本不固定(即使我设置了它的首选尺寸),面板C中的内容不是自动换行,而是以长行显示。 当然这也使得B具有比它应该更大的宽度。 我该怎么做才能解决这个问题? 有没有更好的布局,还是我必须模仿所有使用绝对布局? import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JPanel; public class Test extends JPanel { public Test () { this.setLayout( new BoxLayout( this, BoxLayout.Y_AXIS ) ); JPanel top = new JPanel( null ); top.setBackground( Color.GREEN ); top.setPreferredSize( new Dimension( […]