Java中的布局管理器类有:FlowLayout、BorderLayout、GridLayout、GridBagLayout等,
下面是他们的一些特点:
CardLayout 将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见
FlowLayout 将组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行继续放置
GridLayout 形似一个无框线的表格,每个单元格中放一个组件
BorderLayout 将组件按东、南、西、北、中五个区域放置,每个方向最多只能放置一个组件
GridBagLayout 非常灵活,可指定组件放置的具体位置及占用单元格数目
BoxLayout 就像整齐放置的一行或者一列盒子,每个盒子中一个组件
SpringLayout 根据一组约束条件放置子组件
ScrollPaneLayout 专用于JScrollPane,含一个Viewport,一个行头、一个列头、两个滚动条和四个角组件
OverlayLayout 以彼此覆盖的形式叠置组件
ViewportLayout JViewport的默认布局管理器
final JFrame frame = new JFrame("布局管理的综合应用")final JTextArea jta = new JTextArea("文本框")
final JButton button1 = new JButton("Button1")
final JButton button2 = new JButton("Button2")
final JButton button3 = new JButton("Button3")
final JComboBox combo = new JComboBox()
final JTextField jtf = new JTextField("单行文本")
final Box b23 = Box.createHorizontalBox()
b23.add(button2)
b23.add(button3)
final JPanel right = new JPanel(new GridLayout(3,1))
right.add(button1)
right.add(b23)
right.add(combo)
final JPanel main = new JPanel(new GridLayout(1,2))
main.add(jta)
main.add(right)
frame.add(main, BorderLayout.CENTER)
frame.add(jtf, BorderLayout.PAGE_END)
frame.pack()
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true)