java中描述常见的几种布局特点及用法

Python018

java中描述常见的几种布局特点及用法,第1张

Java的GUI界面定义是由AWT类包和Swing类包来完成的,对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。

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)