实验五 图形用户界面设计

  • 格式:docx
  • 大小:77.98 KB
  • 文档页数:7

实验5图形用户界面设计
一.实验目的:
1. 掌握常见组件的定义
2.理解常见的布局方式及其特点
3.掌握事件处理的原理和事件处理程序的编程方法
二.实验内容:
1创建一个继承侦听类或实现侦听接口的类
2写出相应的事件处理程序,创建监听程序对象,注册监听程序对象。

三.实验要求:
编写一个猜数字的游戏,按下“产生随机数”按钮产生一个0~9的随机数,则在屏幕的提示框
显示“输入所猜测的数字”,当输入所猜测的数字并按“确定”按钮后,在提示框中提示“输入
正确”(或“猜小了”、或“猜大了”)。

import java.awt.event.*;
public class GuessNum extends JFrame implements ActionListener
{
public int RandomNum = 0;//产生的随机数;
public int inputNum = 0;//输入的数据
public JButton pressButton = new JButton("产生随机数");//按钮
public JButton MakesureButton = new JButton("确定");
public JTextField Pointout = new JTextField("下面输入所猜测的数字:",15);//提
示框
public JTextField Pointout2 = new JTextField(15);//输入框
JPanel p1 = new JPanel();//面板
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
Container c = getContentPane(); //内容窗格
public GuessNum()//类构造方法
{
super("猜数游戏");
pressButton.addActionListener(this);
MakesureButton.addActionListener(this);
c.setLayout(new GridLayout(4,1));//网格布局
Pointout.setEditable(true);
p1.add(pressButton);//将各组件放入面板
p2.add(Pointout);
p3.add(MakesureButton);
p4.add(Pointout2);
c.add(p1);//将面板添加入内容窗格
}
public void actionPerformed(ActionEvent e)//按下"产生随机数"后的处理
{
if ((JButton)e.getSource() == pressButton)
{
RandomNum = (int)(Math.random()*10);
Pointout.setText("下面输入所猜测的数字:");
c.add(p2);//将各面板添加入内容窗格
c.add(p4);
c.add(p3);
c.setVisible(false);//刷新界面
c.setVisible(true);
}
else if ((JButton)e.getSource() == MakesureButton)//按下"确定"后的处

{
inputNum = Integer.parseInt(Pointout2.getText());
if (inputNum > RandomNum)//当输入数大于随机数时
{
Pointout.setText("猜大了");
Pointout2.setText("");
}
else if (inputNum < RandomNum)//当输入数小于随机数时
{
Pointout.setText("猜小了");
Pointout2.setText("");
}
else//当输入数等于随机数时
{
Pointout.setText("输入正确");
Pointout2.setText("");
}
}
}//actionPerformed()
public static void main(String args[])
{
GuessNum app = new GuessNum();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(300, 200);
app.setVisible(true);
}
}
没加面板
有加面板
没加面板(网格布局)
加面板(网格布局)
五、实验小结
(1)在使用GUI图形用户界面设计的过程中,根据所需的控件加以编程即可,好处是无需太多算法,而且以上几个不同的窗
体功能实现基本类似,在本次实验中通过编写窗体控件,熟
悉了GUI的设计和用法。

(2)通过本次实验,基本上掌握了使用awt与swing组件设计图形用户界面的方法,包括对窗口,对话框等工具的合理利用。

此外,在注册单击事件监听器与窗口事件监听器时,一定要注意响应事件,为其提供事件处理方法。

(3)在输入字符串时,要注意抛出异常,当字符串不能转化成整数或所输入的整数不符合规则时,弹出对话框,显示输入错误,重新输入。