有一组JPanel,它们的(preferred)高度不同。现在要将它们放到同一个Container中,希望让它们上对齐,请问如何实现?
我目前使用FlowLayout,但它会将这些JPanel居中对齐。

解决方案 »

  1.   

    用GridBagLayout布局管理器的GridBagConstraints.NORTH  或者BoderLayout也可以
      

  2.   

    其实最简单的就是将所有JPanel用坐标定位 setBounds(int x,int y,int width, int hieght)
      

  3.   

    一楼说错了 应该是BorderLayout将容器分成了5个区域 默认是CENTER
    每个区域只能添加一个组件 加入多个 先前的被覆盖楼主可以使用GridLayout 它将空间分成矩形网络  组件添加到单元格中 先从左到右 从上到下
    你可以是定行数和列数  比如GridLayout(3,4)分成三行四列  你将你要对其的组件添加到一行中 我觉得就可以了
      

  4.   

    上对齐是什么意思啊?FlowLayout有几个属性值,你试试。FlowLayout.[CENTER | LEADING | LEFT | RIGHT | TRAILING]具体是什么意思看API文档就知道了。
      

  5.   

    就我能想到的就只有null 或者 GridBagLayout 可以实现,而且应该用GridBagConstraints.CENTER,让他们垂直居中
      

  6.   

    假设有n个Panel需上对齐
    可将它们放入n个Panel(可用GridLayout,若width相等的话),这些panel采用BorderLayout,设置为CENTER,将那n个放入