java:Applet布局问题,如何添加按钮,标签问题总结
2010-05-11 17:30
471 查看
今天学习了applet布局问题:
按钮、标签是怎样加入到applet程序(容器)当中去的呢?
需要用到布局容器管理器(LayoutManager):它用于协助容器确定加入的组件(按钮等)应该放置的位置
awt提供了4中常用的布局容器管理器
>>FlowLayout
>>BorderLayout
>>GridLayout
>>CardLayout
applet默认使用FlowLayout,applet使用容器管理器的方法如下:
setLayout (new BorderLayout)
setLayout()方法是applet类继承Container类中的方法而来,因此在applet程序中可以直接调用
applet加入按钮一定需要上面的容器管理器么?
不一定,可以先 setLayout(null); 然后自己确定组件放置的细节,代码麻烦。
如果你不用布局管理器(Jframe中的用法):
JButton b1 = new JButton("hello");
getContentPane().add(b1);
b1.setLocation(100,10);
以下是容器管理器常用的4种布局写法
=================================================
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 = 0; i<5;i++){
add(new Button("按钮" + i )); //加入5个按钮
//applet类继承Container类中的方法成员add();
}
}
}
==================================================
applet使用BorderLayout();
指定布局:setLayout(new BorderLayout());
加入组件:add(组件实例,位置常量)
作用:此种布局将容器划分为5个区域,分别是上、下、左、右、中
[位置常量]指定了组件将要放置的位置,
如果组件不足5个,放在中间位置的组件将自动填充空余位置
==================================================
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(50);想设置组件的水平和垂直的边距,看下面的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(3,4)); //书上的写法,我的写法如下:
//声明一个布局管理器:为表格形式 3行 4列
GridLayout GL = new GridLayout(3,4);
GL.setHgap(20); //设置组件的水平和垂直的边距
GL.setVgap(20);
this.setLayout(GL); //是哪个类对象的方法?!是this:当前applet
//加入按钮
for(int i=0;i<12;i++)
{
this.add(new Button("按钮" + i)) ;
//add方法是哪个类对象的?!也是当前面板的方法
}
}
}
=========================================================
+applet使用 CardLayout容器管理器
指定容器管理器:setLayout(new CardLayout())
加入组件:add(组件实例,"指定组件名称")
显示组件:CL.show(this."button1"),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=0;i<12;i++)
{
add(new Button("按钮" + i),"button" + i) ;
}
CL.show(this,"button11"); //将指定按钮显示出来
CL.next(this); //转到下一个按钮,这里说明循环显示的效果,显示出是button0;
//还有CL.first(this)等方法==如:last,previous,next,first,显示指定的就用上面的方法
}
}
以上是applet作为容器,需要用到的最常用的组件布局办法
实际上一个容器还可以使用多个LayoutManager,
用Panel!
Panel属于awt组件的容器类,也就是说它可以用来放置其他的awt组件,
她的重要特点就是:拥有独立的坐标系统和layoutmanager.
Panel 与 LayoutManager结合可以做出更符合需要的applet界面!
---附applet测试页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<applet code="UseBorderLayout.class" width=400 height=300></applet>
</BODY>
</HTML>
红色部分替换成相应的布局类
按钮、标签是怎样加入到applet程序(容器)当中去的呢?
需要用到布局容器管理器(LayoutManager):它用于协助容器确定加入的组件(按钮等)应该放置的位置
awt提供了4中常用的布局容器管理器
>>FlowLayout
>>BorderLayout
>>GridLayout
>>CardLayout
applet默认使用FlowLayout,applet使用容器管理器的方法如下:
setLayout (new BorderLayout)
setLayout()方法是applet类继承Container类中的方法而来,因此在applet程序中可以直接调用
applet加入按钮一定需要上面的容器管理器么?
不一定,可以先 setLayout(null); 然后自己确定组件放置的细节,代码麻烦。
如果你不用布局管理器(Jframe中的用法):
JButton b1 = new JButton("hello");
getContentPane().add(b1);
b1.setLocation(100,10);
以下是容器管理器常用的4种布局写法
=================================================
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 = 0; i<5;i++){
add(new Button("按钮" + i )); //加入5个按钮
//applet类继承Container类中的方法成员add();
}
}
}
==================================================
applet使用BorderLayout();
指定布局:setLayout(new BorderLayout());
加入组件:add(组件实例,位置常量)
作用:此种布局将容器划分为5个区域,分别是上、下、左、右、中
[位置常量]指定了组件将要放置的位置,
如果组件不足5个,放在中间位置的组件将自动填充空余位置
==================================================
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(50);想设置组件的水平和垂直的边距,看下面的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(3,4)); //书上的写法,我的写法如下:
//声明一个布局管理器:为表格形式 3行 4列
GridLayout GL = new GridLayout(3,4);
GL.setHgap(20); //设置组件的水平和垂直的边距
GL.setVgap(20);
this.setLayout(GL); //是哪个类对象的方法?!是this:当前applet
//加入按钮
for(int i=0;i<12;i++)
{
this.add(new Button("按钮" + i)) ;
//add方法是哪个类对象的?!也是当前面板的方法
}
}
}
=========================================================
+applet使用 CardLayout容器管理器
指定容器管理器:setLayout(new CardLayout())
加入组件:add(组件实例,"指定组件名称")
显示组件:CL.show(this."button1"),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=0;i<12;i++)
{
add(new Button("按钮" + i),"button" + i) ;
}
CL.show(this,"button11"); //将指定按钮显示出来
CL.next(this); //转到下一个按钮,这里说明循环显示的效果,显示出是button0;
//还有CL.first(this)等方法==如:last,previous,next,first,显示指定的就用上面的方法
}
}
以上是applet作为容器,需要用到的最常用的组件布局办法
实际上一个容器还可以使用多个LayoutManager,
用Panel!
Panel属于awt组件的容器类,也就是说它可以用来放置其他的awt组件,
她的重要特点就是:拥有独立的坐标系统和layoutmanager.
Panel 与 LayoutManager结合可以做出更符合需要的applet界面!
---附applet测试页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<applet code="UseBorderLayout.class" width=400 height=300></applet>
</BODY>
</HTML>
红色部分替换成相应的布局类
相关文章推荐
- java:Applet布局问题,如何添加按钮,标签问题总结
- 在安卓默认布局(RelativeLayout)中已经添加好好按钮,需要滚动条时如何添加?
- layui框架问题总结(点击按钮为select添加option选项)
- 【Java源代码】如何在按钮上添加图片背景
- 如何实现多个线程同步 (2013-11-10 12:07:24)转载▼ 标签: it 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题,Java实现线程同步的方法很多
- Java窗体中按钮布局问题
- 下面对如何在Eclipse中添加java文档和类库源码进行总结。
- java 绝对布局及添加按钮文本框
- Bootstrap框架,在使用栅格布局的时候,在父标签中添加row类,发现引起网页出现横向滚动条的问题
- 【Android】利用Java代码布局,按钮添加点击事件
- 如何实现动态添加布局文件(避免 The specified child already has a parent的问题)
- 如何在Eclipse中添加新建包,java文件,工程工具栏按钮
- JAVA SWING中给按钮添加监听器后JFrame界面JProgressBar不能动态更新问题
- UCGUI中如何使用BUTTON_SetBMPEx()函数在按钮中添加图片问题
- Android基础问题总结-1-如何在编译时向Android任一目录添加文件
- Java工程中添加依赖jar包不起作用问题总结
- 设计一个窗口,窗口中包含有一个文本框,一个标签,两个按钮,当按下“文本一”按纽时,使得“Hello java!”显示在文本框中,按下“文本二”按纽时,使得“你好 Java!” 显示在文本框中(要求两个
- New UI-<include>标签解决布局重用问题
- 40个Java多线程问题总结
- 如何将.class文件转换成.java文件——JAVA反编译工具总结[转]