实验5图形用户界面设计(2学时)
一.实验目的:
1. 掌握常见组件的定义沙窝会议
2.理解常见的布局方式及其特点
3.掌握事件处理的原理和事件处理程序的编程方法
二.实验内容:
1创建一个继承侦听类或实现侦听接口的类
2写出相应的事件处理程序,创建监听程序对象,注册监听程序对象。
三.实验要求:
1.编写一个猜数字的游戏,按下“产生随机数”按钮产生一个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 ((Source() == 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 ((Source() == MakesureButton)//按下"确定"后的处
        {
            inputNum = Integer.Text());
            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);       
    }   
   
}
没加面板
有加面板
没加面板(网格布局)
加面板(网格布局)