Java:Applet布局问题以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
applet布局问题
按钮 标签是怎样加入到applet程序(容器)当中去的呢?
需要用到布局容器管理器(LayoutManager) 它用于协助容器确定加入的组件(按钮等)应该放置的位置
awt提供了 中常用的布局容器管理器
>>FlowLayout
>>BorderLayout
>>GridLayout
>>CardLayout
applet默认使用FlowLayout applet使用容器管理器的方法如下
setLayout (new BorderLayout)
setLayout()方法是applet类继承Container类中的方法而来 因此在applet程序中可以直接调用
applet加入按钮一定需要上面的容器管理器么?
不一定 可以先 setLayout(null); 然后自己确定组件放置的细节 代码麻烦
如果你不用布局管理器(Jframe中的用法)
JButton b = new JButton( hello );
getContentPane() add(b );
b setLocation( );
以下是容器管理器常用的 种布局写法
=================================================
applet 使用 FlowLayout 布局
指定布局:setLayout(new FlowLayout())
加入组件 add(组件实例)
作用 由左到右 由上到下依次放置组件
加入组件使用applet类继承Container类中的方法成员add();
=================================================
import java awt *;
import java applet *;
public class UseFlowLayout extends Applet{
public void init()
{
setLayout(new FlowLayout()); //因为是默认管理器 可以省略
//setLayout()方法是applet类继承Container类中的方法而来 因此在applet程序中可以直接调用
for(int i = ; i< ;i++){
add(new Button( 按钮 + i )); //加入 个按钮
//applet类继承Container类中的方法成员add();
}
}
}
==================================================
applet使用BorderLayout();
指定布局 setLayout(new BorderLayout());
加入组件 add(组件实例 位置常量)
作用 此种布局将容器划分为 个区域 分别是上 下 左 右 中
[位置常量]指定了组件将要放置的位置
如果组件不足 个 放在中间位置的组件将自动填充空余位置
==================================================
import java awt *;
import java applet *;
public class UseBorderLayout extends Applet{ //接口Applet
public void init()
{
setLayout(new BorderLayout()); //因为是默认管理器 可以省略
add(new Button( 按钮上 ) BorderLayout NORTH);
add(new Button( 按钮右 ) BorderLayout EAST);
//?setHgap( );想设置组件的水平和垂直的边距 看下面的GridLayout使用方法
add(new Button( 按钮中 ) BorderLayout CENTER);
//add(new Button( 按钮下 ) BorderLayout SOUTH) //引上是为了测试自动填充效果
//add(new Button( 按钮左 ) BorderLayout WEST) //引上是为了测试自动填充效果
}
}
==================================================
applet使用GridLayout();
指定布局 setLayout(new GridLayout(列数 行数))
加入组件 add(组件实例)
作用 左 >右 上 >下 分成指定的网格
==================================================
import java awt *;
import java applet *;
public class UseGridLayout extends Applet{ //接口Applet
public void init()
{
//setLayout(new GridLayout( )); //书上的写法 我的写法如下
//声明一个布局管理器 为表格形式 行 列
GridLayout GL = new GridLayout( );
GL setHgap( ); //设置组件的水平和垂直的边距
GL setVgap( );
this setLayout(GL); //是哪个类对象的方法?!是this:当前applet
//加入按钮
for(int i= ;i< ;i++)
{
this add(new Button( 按钮 + i)) ;
//add方法是哪个类对象的?!也是当前面板的方法
}
}
}
=========================================================
+applet使用 CardLayout容器管理器
指定容器管理器 setLayout(new CardLayout())
加入组件 add(组件实例 指定组件名称 )
显示组件 CL show(this button ) next previous first
作用 组件加入容器applet中 然后按照需要调出 被调出的组件遮盖本容器内的所有组件
注意 applet是容器 但不是唯一的 applet还可以加入多个容器!详细内容明天再学
=========================================================
import java awt *;
import java applet *;
public class UseCardLayout extends Applet{ //接口Applet
public void init()
{
//指定当前applet布局管理器为CardLayout
CardLayout CL = new CardLayout();
setLayout(CL);
//加入按钮
for(int i= ;i< ;i++)
{
add(new Button( 按钮 + i) button + i) ;
}
CL show(this button ); //将指定按钮显示出来
CL next(this); //转到下一个按钮 这里说明循环显示的效果 显示出是button ;
//还有CL first(this)等方法==如 last previous next first 显示指定的就用上面的方法
}
}
以上是applet作为容器 需要用到的最常用的组件布局办法
实际上一个容器还可以使用多个LayoutManager
用Panel!
Panel属于awt组件的容器类 也就是说它可以用来放置其他的awt组件
她的重要特点就是 拥有独立的坐标系统和layoutmanager
Panel 与 LayoutManager结合可以做出更符合需要的applet界面!
附applet测试页面
/W C//DTD HTML Transitional//EN >
New Documentlishixinzhi/Article/program/Java/hx/201311/26137
分页:123