实验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(\下面输入所猜测的数
字:\提 示框
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)//当输入数大于随机数时 { }
else if (inputNum < RandomNum)//当输入数小于随机数时 { }
else//当输入数等于随机数时 {
Pointout.setText(\猜小了\Pointout2.setText(\
Pointout.setText(\猜大了\Pointout2.setText(\
}
}
}
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);
}
没加面板