初学Java之LayoutManager
来源:互联网 发布:淘宝充值中心可靠吗 编辑:程序博客网 时间:2024/05/21 15:01
布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout
import java.awt.*;
public class ExGui{
private Frame f;
private Button b1;
private Button b2;
public static void main(String args[]){
ExGui that = new ExGui();
that.go();
}
public void go(){
f = new Frame("GUI example");
f.setLayout(new FlowLayout());
//设置布局管理器为FlowLayout
b1 = new Button("Press Me");
//按钮上显示字符"Press Me"
b2 = new Button("Don't Press Me");
f.add(b1);
f.ad
d(b2);
f.pack();
//紧凑排列,其作用相当于setSize(),即让窗口
尽量小,小到刚刚能够包容住b1、b2两个按钮
f.setVisible(true);
}
1. FlowLayout
FlowLayout 是Panel,Applet的缺省布局管理器。其组件的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个组件先添加到容器中第一行的最左边,后续的组件依次添加到上一个组件的右边,如果当前行已放置不下该组件,则放置到下一行的最左边。
构造方法主要下面几种:
FlowLayout(FlowLayout.RIGHT,20,40);
FlowLayout(FlowLayout.LEFT);
//居左对齐,横向间隔和纵向间隔都是缺省值5个象素
FlowLayout();
//缺省的对齐方式居中对齐,横向间隔和纵向间隔都是缺省值5个象素
import java.awt.*;
public class myButtons{
public static void main(String args[])
{
Frame f = new Frame();
f.setLayout(new FlowLayout());
Button button1 = new Button("Ok");
Button button2 = new Button("Open");
Button button3 = new Button("Close");
f.add(button1);
f.add(button2);
f.add(button3);
f.setSize(300,100);
f.setVisible(true);
}
}
BorderLayout 是Window,Frame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个组件。各个区域的位置及大小如下图所示:
import java.awt.*;
public class buttonDir{
public static void main(String args[]){
Frame f = new Frame("BorderLayout");
f.setLayout(new BorderLayout());
f.add("North", new Button("North"));
//第一个参数表示把按钮添加到容器的North区域
f.add("South", new Button("South"));
//第一个参数表示把按钮添加到容器的South区域
f.add("East", new Button("East"));
//第一个参数表示把按钮添加到容器的East区域
f.add("West", new Button("West"));
//第一个参数表示把按钮添加到容器的West区域
f.add("Center", new Button("Center"));
//第一个参数表示把按钮添加到容器的Center区域
f.setSize(200,200);
f.setVisible(true);
}
}
North区域缺少组件
North和Center区域缺少组件
使容器中各个组件呈网格状布局,平均占据容器的空间。
import java.awt.*;
public class ButtonGrid {
public static void main(String args[]) {
Frame f = new Frame("GridLayout");
f.setLayout(new GridLayout(3,2));
f.add(new Button("1"));
f.add(new Button("2"));
f.add(new Button("3"));
f.add(new Button("4"));
f.add(new Button("5"));
f.add(new Button("6"));
f.setSize(200,200);
f.setVisible(true);
}
}
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面。牌布局管理器(CardLayout)就象一副叠得整整齐齐的扑克牌一样,有54张牌,但是你只能看见最上面的一张牌,每一张牌就相当于牌布局管理器中的每一层。
import java.awt.*;
import java.awt.event.*;
public class ThreePages implements MousListener {
CardLayout layout=new CardLayout();
Frame f=new Frame("CardLayout");
Button page1Button;
Label page2Label;
TextArea page3Text;
Button page3Top;
Button page3Bottom;
public static void main(String args[])
{ new ThreePages().go(); }
Public void go()
{ f.setLayout(layout);
f.add(page1Button=new Button("Button page"),"page1Button");
page1Button.addMouseListener(this);
f.add(page2Label=new Label("Label page"),"page2Label");
page2Label.addMouseLisener(this);
Panel panel=new Panel();
panel.setLayout(new BorderLayout());
panel.add(page3Text=new TextArea("Composite page"),"Center");
page3Text.addMouseListener(this);
panel.add(page3Top=new Button("Top button") , "North");
page3Top.addMouseListener(this);
panel.add(page3Bottom=new Button("Bottom button") ,"South");
page3Bottom.addMouseListener(this);
f.add(panel,"panel");
f.setSize(200,200);
f.setVisible(true);
}
……
}
- 初学Java之LayoutManager
- Java学习笔记之LayoutManager
- Java Swing LayoutManager
- Java Swing LayoutManager
- java--LayoutManager 布局管理器
- LayoutManager
- 初学JAVA之二
- 初学JAVA之三
- 初学JAVA之四
- java初学之static
- java之初学习
- JAVA初学之容器
- 初学Java之Button
- 初学Java之九九乘法
- java初学之arrayList
- java初学之界面设计
- Java之注解初学
- Java初学之HelloWord
- 有关稀疏矩阵的习题
- 使用PowerDesigner将Oracle中的表结构转为物理数据模型
- CPU 出现soft lockup的解决办法
- Android应用签名方法
- iwconfig的用法(转)
- 初学Java之LayoutManager
- 黑马程序员——java基础-GUI
- 杭电ACM2025java做法
- 操作系统之死锁
- 初学Java之AWT事件处理模型
- java 自定义异常
- 黑马程序员——GUI2:下篇
- 矩阵求导公式
- CATransform3D 特效详解