实验五图形用户界面Word文档格式.docx
《实验五图形用户界面Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验五图形用户界面Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
1.在Applet中添加标签、按钮并使用网格布局
(1)程序功能:
在Applet容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX5_1.java程序文件,源代码如下。
importjava.awt.*;
importjava.applet.Applet;
publicclassLX5_1extendsApplet{
Labell1;
Buttonb1,b2,b3,b4,b5,b6;
publicvoidinit(){
setLayout(newGridLayout(3,3));
//设置网格布局(3行3列共9个网格)
l1=newLabel("
标签1"
);
b1=newButton("
按钮1"
b2=newButton("
按钮2"
b3=newButton("
按钮3"
b4=newButton("
按钮4"
add(l1);
add(b1);
add(b2);
add(b3);
add(newLabel());
add(b4);
add(newButton("
按钮5"
));
add(newButton("
按钮6"
add(newLabel("
标签2"
}
(3)编译程序LX5_1.java。
(4)编写显示Applet的页面文件LX5_1.html,在浏览器显示结果如图6.1所示。
2.在面板中添加组件
在Applet中添加面板容器,并分别在Applet、面板容器中添加组件并使用不同的布局管理方式。
(2)编写LX5_2.java程序文件,源代码如下。
importjava.awt.Color;
publicclassLX5_2extendsApplet{
//设置最底层的Applet容器为顺序布局
setFont(newFont("
Arial"
Font.PLAIN,20));
Labell=newLabel("
这是最底层的Applet容器中的标签"
Label.CENTER);
add(l);
Panelpanel1=newPanel();
add(panel1);
panel1.setBackground(Color.blue);
panel1.setForeground(Color.red);
panel1.setLayout(newBorderLayout());
//设置边界布局
panel1.add("
North"
newButton("
北"
South"
南"
East"
东"
West"
西"
Center"
newLabel("
这是在Panel1面板中部添加的标签"
Panelpanel2=newPanel();
add(panel2);
panel2.setLayout(newGridLayout(3,1));
//设置网格布局
Choicec=newChoice();
//创建下拉式列表
c.addItem("
北京"
上海"
天津"
Labell1=newLabel("
这是在Panel2面板中的标签"
Buttonb1=newButton("
Panel2中的按钮"
panel2.setBackground(Color.green);
panel2.add(l1);
panel2.add(b1);
panel2.add(c);
(3)编译程序LX5_2.java。
(4)编写显示Applet的页面文件LX5_2.html,在浏览器显示结果如图6.2所示。
二.了解事件处理机制
在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。
例如,用户单击了一个按钮,意味着发生了按钮的单击事件;
选中下拉框中的一个选项,意味着发生了一个选项事件。
在Java中能产生事件的组件叫做事件源,如按钮。
如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。
1.单击按钮的事件处理程序
(1)程序功能:
使用手工布局设置组件标签、按钮的位置,为按钮编写单击事件处理方法。
当用户用鼠标单击按钮时,会听到一声响声。
(2)编写LX5_3.java程序文件,源代码如下。
importjava.awt.event.*;
publicclassLX5_3extendsAppletimplementsActionListener{//实现动作事件监听接口
setLayout(null);
//关闭默认的顺序管理布局
按一下按钮可听到响声!
"
Label.CENTER);
l.setBounds(40,10,150,30);
Buttonb=newButton("
按钮"
add(b);
b.setBounds(60,50,60,40);
b.addActionListener(this);
//注册事件源的动作监听者
publicvoidactionPerformed(ActionEvente){//实现单击事件接口的方法
Toolkit.getDefaultToolkit().beep();
//单击事件发生时作出的反应
(3)编译程序LX5_2.java。
(4)编写显示Applet的页面文件LX5_3.html,在浏览器显示结果如图6.3所示。
2.选择复选框和单选框按钮的事件处理程序
在Applte上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10进制数,选择不同选项可转换为2、8、16进制数。
(2)编写LX5_4.java程序文件,源代码如下。
publicclassLX5_4extendsAppletimplementsItemListener{
TextAreaarea=newTextArea(6,30);
//创建文本区
StringItem[]={"
2进制"
"
8进制"
16进制"
10进制"
};
Checkboxcb[]=newCheckbox[5];
Checkboxradio[]=newCheckbox[5];
输入10进制数"
TextFieldTF=newTextField(6);
//创建单行文本框
add(TF);
add(area);
请选择进制:
for(inti=0;
i<
4;
i++){
cb[i]=newCheckbox(Item[i]);
add(cb[i]);
cb[i].addItemListener(this);
CheckboxGroupcbGroup=newCheckboxGroup();
//创建单选框
请选择进制:
radio[i]=newCheckbox(Item[i],cbGroup,false);
add(radio[i]);
radio[i].addItemListener(this);
publicvoiditemStateChanged(ItemEvente){
intx=Integer.parseInt(TF.getText());
if(e.getItem()=="
)
area.append("
你选择的是"
+e.getItem()+Integer.toBinaryString(x)+"
\n"
+e.getItem()+Integer.toOctalString(x)+"
+e.getItem()+Integer.toHexString(x)+"
+e.getItem()+x+"
(3)编译程序LX5_4.java。
(4)编写显示Applet的页面文件LX5_4.html,在浏览器显示结果如图6.4所示。
三.建立独立运行的窗口界面并使用匿名类
最常使用的包含组件的容器是窗口,在Java中窗口由Frame类生成。
1.创建一个窗口界面
创建一个具有关闭功能的空白窗口。
(2)编写LX5_5_W.java程序文件,源代码如下。
publicclassLX5_5_W{
publicstaticvoidmain(String[]args){
newLX5_5_W();