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

admin2009-12-22  26

问题 本程序的功能是读取用户输入的整数a、b,单击按钮“计算”,则计算出a和b数的和,并显示计算的结果。请将程序补充完整。
   注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
   public class simple
   {
      public static void main{String[] 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构件注册一个监听器。
转载请注明原文地址:https://kaotiyun.com/show/pcnp777K
0

最新回复(0)