问题 问答题

本程序的功能是读取用户输入的整数a、b,单击按钮“计算”,则计算出a和b数的和,并显示计算的结果。请将程序补充完整。
注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class simple

public static void mainString[] args)

ExampleFrame frame=new ExampleFrame();
frame.______(JFrame.EXIT_ON_CLOSE);
frame.show();


class ExampleFrame extends JFrame

private JPanel panel;
public static final int DEFAULT_WIDTH=250;
public static final int DEFAULT_HEIGHT=250;
public ExampleFrame()

Init();
setTitle("welcome");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
Container contentPane=getContentPane();
contentPane.add(panel);

private void init()

JLabel la1=new JLabel("输入整数a:");
JLabel la2=new JLabel ("输入整数b:");
final JTextField num1=new JTextField(10);
final JTextField num2=new JTextField(10);
JButton but=new JButton("计算");
final JLabel res=new JLabel("结果:");
but.addActionListener(______
public void actionPerformed(ActionEvent event)
String str=new String();
String s1=num1.getText();
String s2=num2.getText();
try

int a=Integer.parseInt(s1);
int b=Integer.parseInt(s2);
str=String.valueOf(a +b);

catch(Exception e)

str=e.getMessage();

res.setText ("结果:"+str);

);
panel=new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.LEFT));
panel.add(la1);
panel.add(num1);
panel.add(la2);
panel.add(hum2);
panel.add(but);
panel.add(res);

答案

参考答案:setDefaulktCloseOperation
new ActionListener()

解析:[讲解] 本题考查知识点:图形用户界面、Swing构件。解题思路:图形用户界面上所有显示的要素都是编程时通过设计添加上去的。本题中主要考查了图形用户界面的关闭按钮事件响应,以及控件事件的监听。关闭按钮是图形用户界面的一个基本组成要素,是一种默认的关闭方式。ExampleFrame是程序定义的一个内部类,在其构造函数中实现了初始化。init方法将界面添加到面板中。but.addActionListener为按钮but添加事件监听器。在监听器中,首先获得用户输入的两个数的值。使用try-catch的原因是,用户可能输入的不是数字,这样就需要对异常情况进行处理。然后计算这两个数的和。最后,计算结果通过名为res的JLabel构件显示给用户。Java程序中,通过设置JFrame框架的关闭属性,就可以在界面上对关闭按钮的事件做出响应。即setDefaultCloseOperation()方法,这样就得到了第1个空的结果。事件监听是一种专门的开发模式,将事件分为监听源和监听器;事件源是各种构件以及由各类构件继承而生成的新的构件,监听器是对事件做出具体动作的实体,它必须实现某种监听器接口。事件源自身不处理事件,而是通过注册监听器,将事件委托给监听器来处理。本题中第2个空就是通过新建一个ActionListener的实例来为but构件注册一个监听器。

单项选择题
多项选择题