一、实验目的及要求

   通过实验掌握Java的图形界面、Java事件处理机制--委托事件模型。



编写一个
Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中,点击“复制”按钮,能将第三个文本框的内容复制到第四个文本框中,最后还可以正常关闭窗口。运行效果如下图所示:



import java.awt.*; import java.awt.event.*; import java.math.BigDecimal;
import javax.swing.*; public class CopyAndSum implements ActionListener{
private JButton but1, but2; private JTextField L1, L2, R1, R2; private JPanel
jpan; public void display() { JFrame f = new JFrame("求和和复制"); f.setSize(750,
150); f.setBackground(Color.lightGray); f.setLayout(new
FlowLayout(FlowLayout.CENTER)); L1 = new JTextField(15); L2 = new
JTextField(15); R1 = new JTextField(15); R2 = new JTextField(15); but1 = new
JButton("求和"); but2 = new JButton("复制"); // 创建面板并添加文本框到面板中 jpan = new JPanel();
jpan.setLayout(new FlowLayout(FlowLayout.CENTER)); jpan.add(L1); jpan.add(L2);
jpan.add(R1); jpan.add(R2); // 把面板和按钮添加进窗口中 f.add(jpan); f.add(but1);
f.add(but2); // 设置不可调整大小 f.setResizable(false); // 为按钮but1 和按钮but2
注册事件监听器为CopyAndSum对象 but1.addActionListener(this);
but2.addActionListener(this); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true); } public void actionPerformed(ActionEvent e) { //
使用BigDecimal类进行加法运算 if(e.getSource() == but1) { if(L1.getText().equals("") ||
L2.getText().equals("")){ return; } BigDecimal b1 = new
BigDecimal(L1.getText()); BigDecimal b2 = new BigDecimal(L2.getText());
BigDecimal b3 = b1.add(b2); R1.setText(b3.toString()); } if(e.getSource() ==
but2) { R2.setText(R1.getText()); } } public static void main(String[] args) {
(new CopyAndSum()).display(); } }
实验结果:









1、 简述图形界面的设计步骤?

答:(1)创建组件(Component)--创建组成图形界面的各种元素,如按钮,文本框等。

(2)指定布局(Layout)--根据具体需要排列图形界面上各元素的位置。

(3)响应事件(Event)--定义图形用户界面的事件和各种界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能。

2、 简述委托事件模型?



答:在
java语言中对事件的处理,采用的是委托事件模型机制。委托事件模型是将事件源(如命令按钮)和对事件做出具体处理(利用监听者对事件进行具体的处理)分离开来。一般情况下,组件(事件源)不处理自己的事件。而是将事件处理委托给外部的处理实体(监听者),这种事件处理模型就是事件的委托处理模型,即事件源将事件处理任务委托给了监听者。具体地讲,所谓委托事件模型,是指当事件发生时,产生事件的对象即事件源,会把此“信息”转给事件监听者处理的一种方式,而这里所指的“信息”实际上就是java.awt.even或javax.swing.event事件类库里某个类所创建的对象,我们把它称为“事件对象”。事件对象表示事件的内容,对象内部封装了一个对事件源的引用和其他信息,这个事件对象将作为参数自动传递给处理该事件的方法。


友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信