首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java格局管理器

2012-09-04 
Java布局管理器在AWT中,有五种布局管理器分别是:BorderLayoutFlowLayoutGridLayoutCardLayoutGridBagLayou

Java布局管理器

在AWT中,有五种布局管理器分别是:

BorderLayout

FlowLayout

GridLayout

CardLayout

GridBagLayout

先看看代码

import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.GridLayout;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;public class MyFrame implements WindowListener{public static void main(String []args){Frame f=new Frame("zhycheng");f.setSize(300, 400);f.setLocation(400, 300);f.setBackground(Color.CYAN);f.setLayout(new BorderLayout(10,10));//f.setLayout(new FlowLayout(FlowLayout.RIGHT));//f.setLayout(new GridLayout(3,2,10,10));Button btn=new Button("winsun");f.add(btn,"Center");Button btn1=new Button("north");f.add(btn1,"North");Button btn2=new Button("South");f.add(btn2,"South");Button btn3=new Button("West");f.add(btn3,"West");Button btn4=new Button("East");f.add(btn4,"East");f.setVisible(true);f.addWindowListener(new MyFrame());}@Overridepublic void windowOpened(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowClosing(WindowEvent e) {// TODO Auto-generated method stubSystem.exit(0);}@Overridepublic void windowClosed(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowIconified(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowDeiconified(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowActivated(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowDeactivated(WindowEvent e) {// TODO Auto-generated method stub}}
1.BorderLayout

BorderLayout将Frame分为5部分,Center,North,South,West,East。BorderLayout也是Frame的默认的布局。

f.setLayout(new BorderLayout(10,10));其中的两个10分别表示组件之间的水平间隙和垂直间隙
效果如图

Java格局管理器

2.FlowLayout

FlowLayout是流式布局,将组件依次摆放

f.setLayout(new FlowLayout(FlowLayout.RIGHT));中的参数是右对齐。当然,也有左对齐,默认居中

效果如下

Java格局管理器

3.GridLayout

GridLayout是网格布局,将容器分为网格。

f.setLayout(new GridLayout(3,2,10,10));将容器分为3行2列,格子之间的水平和垂直间隙都为10.

效果如下

Java格局管理器

4.CardLayout

CardLayout可以实现翻牌的效果。CardLayout对象的next()方法来实现代码有所改动,所以我将全部的代码都贴出来

import java.awt.Button;import java.awt.CardLayout;import java.awt.Color;import java.awt.Frame;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;public class MyFrame implements WindowListener{public static void main(String []args){final Frame f=new Frame("zhycheng");f.setSize(300, 400);f.setLocation(400, 300);f.setBackground(Color.CYAN);//f.setLayout(new BorderLayout(10,10));//f.setLayout(new FlowLayout(FlowLayout.RIGHT));//f.setLayout(new GridLayout(3,2,10,10));final CardLayout cl=new CardLayout();f.setLayout(cl);ActionListener al=new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubcl.next(f);}};Button btn=new Button("winsun");btn.addActionListener(al);f.add(btn,"Center");Button btn1=new Button("north");btn1.addActionListener(al);f.add(btn1,"North");Button btn2=new Button("South");btn2.addActionListener(al);f.add(btn2,"South");Button btn3=new Button("West");btn3.addActionListener(al);f.add(btn3,"West");Button btn4=new Button("East");btn4.addActionListener(al);f.add(btn4,"East");f.setVisible(true);f.addWindowListener(new MyFrame());}@Overridepublic void windowOpened(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowClosing(WindowEvent e) {// TODO Auto-generated method stubSystem.exit(0);}@Overridepublic void windowClosed(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowIconified(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowDeiconified(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowActivated(WindowEvent e) {// TODO Auto-generated method stub}@Overridepublic void windowDeactivated(WindowEvent e) {// TODO Auto-generated method stub}}

效果如图

Java格局管理器Java格局管理器Java格局管理器


热点排行