niusouti.com

请完成下列Java程序:记录鼠标在窗口中的信息,包括鼠标的移动事件以及鼠标在窗口中的位置坐标,要求在窗口下方显示鼠标的事件和位置信息,在窗口上方有按钮控制程序的正常退出。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。源程序文件代码清单如下:import java.awt.*;import java.awt.event.*;public class ex12_2extends Frame. implements MouseMotionListener, ActionList

题目

请完成下列Java程序:记录鼠标在窗口中的信息,包括鼠标的移动事件以及鼠标在窗口中的位置坐标,要求在窗口下方显示鼠标的事件和位置信息,在窗口上方有按钮控制程序的正常退出。

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

源程序文件代码清单如下:

import java.awt.*;

import java.awt.event.*;

public class ex12_2

extends Frame. implements MouseMotionListener, ActionListener

private Label 1;

private String str=" ";

public static void main(String args[])

{

new ex12_2();

}

ex12_2( )

{

______;

setSize(200,200);

Button btn=new Button("exit");

btn.addActionListener (this);

add (btn, "North" );

l=new Label(str);

add (l, "South" );

show ();

}

public void mouseMoved(MouseEvent event)

{

str="Move: "+

l. setText (str);

}

public void mouseDragged(MouseEvent event)

{

}

public void actionPerformed(ActionEvent event)

{

if(event.getActionCommand().equals("exit"))

{

System.exit(0);

}

}

}


相似考题
更多“请完成下列Java程序:记录鼠标在窗口中的信息,包括鼠标的移动事件以及鼠标在窗口中的位置坐标,要求在窗口下方显示鼠标的事件和位置信息,在窗口上方有按钮控制程序的正常退出。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。源程序文件代码清单如下:import java.awt.*;import java.awt.event.*;public class ex12_2extends Frame. implements MouseMotionListener, ActionList”相关问题
  • 第1题:

    下面的程序是用do-while语句计算10的阶乘。请在程序的每条横线处填写1个语句,使程序的功能完整。

    注意:请勿改动main()主方法和其他已有的语句内容;仅在横线处填入适当的语句。

    源程序文件代码清单如下:

    public class DoWhileLoop

    {

    public static void main(______)

    {

    int n=10;

    long result=1;

    do

    {

    _____;

    }

    _____;

    System.out.println("10的阶乘为:"+result);

    }

    }


    正确答案:String args[] result*=n-- while(n>=1)
    String args[] result*=n-- while(n>=1) 解析:本题主要考查main()主方法的使用、 while循环语句的用法。解答本题的关键是熟练掌握main()主方法的使用、while循环语句的用法。在本题中,string args[]的作用是声明字符数组args,result*=n--语句的作用是获得n的阶乘并赋值给变量result。

  • 第2题:

    请完成下列Java程序:用JFrame建立—个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行2列4个按钮,要求对按钮的大小进行设定,宽度为150,高度为80。

    注意:请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    源程序文件代码清单如下

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class ex19_2

    {

    public static void main(String args[])

    }

    JFrame. frm=new JFrame();

    frm.setTitle("ex19_2");

    Container cont=frm.getContentPane();

    ______;

    cont.add(new JButton("button1"));

    cont.add(new JButton("button2 "));

    Dimension dimen=______;

    JButton btn1=new JButton("button3");

    btn1.setPreferredSize(dimen);

    cont.add(btn1);

    cont.add(new JButton("button4"));

    frm.addWindowListener(new WindowAdapter()

    {

    public void winowClosing(WindowEvent we)

    {

    System.exit(0);

    }

    });

    frm.pack();

    frm.setVisible(true);

    }

    }


    正确答案:cont.setLayout(new GridLayout(22)) new Dimension(15080)
    cont.setLayout(new GridLayout(2,2)) new Dimension(150,80) 解析:本题主要考查网格布局管理器 (GridLayout)在使用Swing制作图形用户界面时的一些简单应用。解题关键是熟悉 GridLayout的使用方法,初始化的方法是通过容器Container的对象调用setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第 1个空,采用初始化Dimension类的对象来给出Button组件的初始大小,参数分别是宽度和高度;第2个空,将容器通过网格布局管理器设置为2行2列。程序运行结果如下。

  • 第3题:

    请完成下列Java程序:用JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行2列4个按钮,要求对按钮的大小进行设定,宽度为150,高度为80。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    程序运行结果如下:

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class ex9_2{

    public static void main(String[]args) {

    JFrame. frm:new JFrame();

    frm.setTitle("ex9_2");

    Container cont = frm.getContentPane();

    _____________;

    cont.add(new JButton("button1"));

    cont.add(new JButton("button2"));

    Dimension dimen=____________;

    JButton btn1 = new JButton("button3");

    btn1.setPreferredSize(dimen);

    cont.add(btn1);

    cont.add(new JButton("button4"));

    frm.addWindowListener(new WindowAdapter() {

    public void winowClosing(WindowEvent we){

    System.exit(0);

    }

    });

    frm.pack();

    frm.setVisible(true);

    }

    }


    正确答案:cont.setLayout(new GridLayout(22)) new Dimension(15080)
    cont.setLayout(new GridLayout(2,2)) new Dimension(150,80) 解析:本题主要考查网格布局管理器(GridLayout)在使用swing制作图形用户界面时的一些简单应用。解题关键是熟悉 GridLayout的使用方法,初始化的方法是通过容器Container的对象调用setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第1个空,采用初始化Dimension类的对象来给出Button组件的初始大小:参数分别是宽度和高度;第2个空,将容器通过网格布局管理器设置为2行2列。

  • 第4题:

    下面是一个Applet小程序,其功能为:以坐标(10,20)为起点,画一条长为80个像素点的绿色直线,请在横线处填写一条语句,使程序的完整。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

    ______________________

    import java.awt.*;

    public class test_drawline extends Applet

    {

    public void paint(_______________)

    {

    g.setColor(Color.green);

    _____________________

    }

    }


    正确答案:import java.applet.*; Graphics g g.drawLine(102010100);
    import java.applet.*; Graphics g g.drawLine(10,20,10,100); 解析:本题考查JavaApplet小程序。Applet是能够嵌入到HTML页面中,并能够在浏览器中运行的Java类。定义用户的Applet时,必须继承java.apple包中的Applet类。另外,Graphics类在java.awt包中,它是Applet运行绘制的关键类。Graphics类中提供的绘图方法分为两类:一类是绘制图形,如drawLine()画直线,drawRect()画矩形等等;一类是绘制文本,如drawstring()绘制字符串,drawChars()绘制字符等等。解答此类问题必须掌握以上知识点。在本题中import java.applet.*;语句是导入 java.applet包,g.drawLine(10,20,10,100);方法中(10,20)是所画横线的起点坐标,(10,100)是横线的终点坐标。

  • 第5题:

    请完成下列Java程序:实现打印出自己的源文件的功能。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    import java.io.*;

    import java.util.StringTokenizer;

    public class ex27_2{

    public static void main(String args[])throws IOException{

    FileInputStream fis=new FileInputStream("ex27_2.java");

    DataInputStream dis=new DataInputStream(fis);

    String str=null;

    while(true){

    __________________;

    if(str==null){

    __________________;

    }

    StringTokenizer st=new StringTokenizer(str);

    while(st.hasMoreTokens()){

    System.out.print(st.nextToken()+ " " );

    }

    System.out.println();

    }

    }

    }


    正确答案:str=dis.readLine() break
    str=dis.readLine() break 解析:本题主要考查文件I/O操作和while语句,if语句的使用。解题关键是熟悉文件I/O操作的基本方法,以及利用while语句和if语句控制程序流程。本题中,第1个空,DataInputStream的对象dis调用readLine()方法,从输入流中读取数据,并写给String类的str对象;第二空,如果str为空,则跳出循环体,这里使用break完成跳转。

  • 第6题:

    请在每条横线处填写一个语句,使程序的功能完整,且输出结果为91 1。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

    源程序文件代码清单如下:

    public class Outer

    {

    public static void main (String args[]

    {

    Outer i = new Outer();

    i,taskInner();

    }

    public class Inner

    {

    private int size;

    public void doSomething(int size)

    {

    _____________//访问局部变量

    this. size++; //访问内部类的成员变量

    _____________//访问外部类的成员变量

    System.out.println(size+" "+this.size+" "+Outer.this.size);

    }

    }

    public void taskInner()

    {

    ___________

    k.doSomething(8);

    }

    private static int size;

    }


    正确答案:size++; Outer.this.size++: Inner k=new Inner();
    size++; Outer.this.size++: Inner k=new Inner(); 解析:本题主要考查内部类的概念,super,this关键字的用法。解答本题的关键是熟练掌握super, this关键字的用法。在本题中size++;语句是访问局部变量size,Outer.this.size++;语句的功能是访问外部类的成员变量size,InnerK=new Inner();语句的功能是生成内部类Inner的对象K。

  • 第7题:

    在程序中,使用适当的布局管理器,在Frame框的North位置添加一句提示信息,在South位置添加一个单行文本框,在这个文本框中输入的内容将会显示在Center位置。运行结果如下图所示。

    注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。

    import java.awt.*;

    import java.awt.event.*;

    public class simple extends Frame

    {

    public static void main(String[] args)

    {

    simple frame=new simple("simple");

    frame.init();

    frame.setSize(300,300);

    frame.show();

    }

    public simple(String name)

    {

    super(name);

    addWindowListener(new WindowAdapter()

    { public void windowClosing(WindowEvent e)

    {______;

    }

    } );

    }

    public void init()

    {

    setLayout(new______);

    Label labelTitle=new Label("在本文框中输入字符串, 可以早Frame中间显示");

    Label showTextLabel=new Label();

    TextField textField=new TextField("请在这里输入字符串");

    textField.addActionListener(new AddStringListener(showTextLabel,

    textField));

    add("North", labelTitle);

    add("Center", showTextLabel);

    add("South", textField);

    }

    }

    class AddStringListener implements ActionListener

    {

    Label label;

    TextField textField;

    public AddStringListener(Label label, TextField textField)

    {

    this.label=label;

    this.textField=textField;

    }

    public void actionperformed(ActionEvent e)

    {

    label.setText(textField.getText());

    }

    }


    正确答案:System.exit(0) BorderLayout()
    System.exit(0) BorderLayout() 解析:本题考查知识点:AWT库的使用,布局管理器的使用。解题思路:程序使用label Title来显示提示信息,使用text Field来获取用户的输入,最后将用户输入的结果通过showTextLabel显示出来。Frame的关闭按钮的处理方式与JFrame的方式不同,Frame必须手动实现退出按钮的事件处理机制,否则单击关闭按钮程序不会做出响应。本题的第1空就是对退出按钮事件响应的内容。BorderLayout布局管理器将容器分为五个区域:North、South、East、West和 Center。可以指定构件放在哪个区域,但是每个区域只能放置一个构件。第2个空即是为Frame设置BorderLayout类型的布局管理器。

  • 第8题:

    请完成下列Java程序。程序的功能是显示用户在命令行方式下指定的任意驱动器目录的内容。

    (提示:public String[]list();//将目录中所有文件名保存在字符数组中返回)

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    import java.io.*;

    public class FindDirectories

    {

    public static void main(String args[]

    {

    if(args.length==0)

    args=new String[]{".."};

    try

    {

    _______________

    String[] fileName=pathName.list();

    for(int i=0;i<fileName.length;i++

    {

    File f=new File(pathName.getPath() fileName[i]);

    if(___________________)

    {

    System.out.println(f.getCanonicalPath());

    main(new String[]

    {

    f.getPath()

    });

    }

    }

    }

    catch(IOException e)

    {

    e.printStackTrace();

    }

    }

    }


    正确答案:File pathName=new File(args[0]); f.isDirectory()
    File pathName=new File(args[0]); f.isDirectory() 解析:本题主要考查对文件操作的基本知识。解答本题的关键是熟练掌握对文件操作的基本知识。其中,File pathName=new File(args[0]);语句的功能是生成File类对象pathName;if(f.isDirectory())语句的功能是判断生成的f对象是否为目录。

  • 第9题:

    下列Applet在窗口中放置2个Button,标签分别为“东”和“西”,在窗口中的位置与它们的名字相同。选择正确的语句填入横线处。 import java.awt.*; import java.applet.*; public class ex16 extends Applet { Button e, w; public void init() { e = new Button("东"); w = new Button("西"); add("East", e); add("West", w); } }

    A.setLayout(new BoxLayout());

    B.setLayout(new FlowLayout());

    C.setLayout(new BorderLayout());

    D.setLayout(new GridLayout());


    正确答案:C

  • 第10题:

    请完成下列Java程序:用awt实现一个图形用户界面,包含一个List构件和一个TextField构件,List中包含5个项目。要求选择不用的项目时,能在TextField构件中显示出相关的信息,包括事件的名称,选择的项目编号和项目的状态。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    程序运行结果如下:

    import java.awt.*;

    import java.awt.event.*;

    public class ex14_2 extends Frame. implements ItemListener {

    private TextField tf;

    private List 1;

    public static void main(String[] arg) {

    ex14_2 obj14_2 = new ex14_2();

    }

    public ex14_2() {

    setBackground(Color. GRAY);

    setTitle("ex14_2");

    l = new List(5);

    l.addItemListener(this);

    l.addItem("Item1");

    l.addItem("Item2");

    l.addItem("Item3");

    l.addItem("Item4");

    l.addItem("Item5");

    add("Center",l);

    tf = new TextField(50);

    add("South",tf);

    ______________;

    show ( );

    }

    public void itemStateChanged(ItemEvent event)

    tf.setText( );

    }

    }


    正确答案:pack() event.paramString()
    pack() event.paramString() 解析:本题主要考查awt的List和TextField构件的简单应用。解题关键是熟悉上述构件的基本使用方法,熟悉Frame构件的基本方法,会使用ItemEvent的paramString()方法获得事件的基本信息。本题中,第1个空,需要填入pack(),否则图形用户界面无法正常显示;第2个空,调用event对象的paramString()方法来实现显示事件基本信息的功能。

  • 第11题:

    本题的功能是获取鼠标在窗口中的位置。当鼠标移进窗口中,就会实时显示鼠标在窗口中的相对位置,比如显示为"鼠标的当前位置:X:Y"(其中,X为横坐标,Y为纵坐标)。

    import java.awt.*;

    import java.awt.event.*;

    import java.util.*;

    import javax.swing.*;

    public class java2

    {

    public static void main(String[]args)

    {

    MouseFrame. frame=new MouseFrame();

    frame.setDefaultCloseoperation(JFrame.EXIT_

    0N CLOSE);

    frame.show();

    }

    }

    class MouseFrame. extends JFrame

    {

    public MouseFrame()

    {

    setTitle("java2");

    setSize(WIDTH,HEIGHT);

    MousePanel panel=new MousePanel();

    Container contentPane=getContentPane();

    contentPane.add(panel);

    }

    public static final int WIDTH = 300;

    public static final int HEIGHT=200;

    }

    class MousePanel extends JPanel

    {

    public MousePanel()

    {

    addMouseListener(new MouseHandler());

    addMouseMotionListener(new MouseMotionHan-

    dler());

    }

    public void paintComponent(Graphics g)

    super.paintComponent(g);

    String text="鼠标指针位置:"+mousex+":"

    +mousey;

    g.drawString(text,10,10);

    }

    private int mousex,mousey;

    private class MouseMotionHandler {

    public void mouseMoved(MouseEvent event)

    {

    mousex=event.getX();

    mousey=event.getY();

    repaint();

    }

    public void mouseDragged(MouseEvent event)

    {

    mousex=event.getX();

    mousey=event.getY();

    repaint();

    }

    }

    private class MouseHandler

    {

    public void mousePressed(MouseEvent eveat)

    {mousex=event.getX();

    mousey=event.getY();

    }

    }

    }


    正确答案:
    第1处:implementsMouseMotionListener第2处:extendsMouseAdapter【解析】第1处实现了MouseMotionListener接口鼠标移动事件的监听;第2处是继承MouseAdapter这个抽象类。

  • 第12题:

    用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。


    正确答案:错误

  • 第13题:

    请完成下列Java程序。程序的执行结果是生成一个具有一个按钮的窗体,并且按钮的标签是“欢迎参加全国计算机等级考试—Java部分!”字样。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    import java.awt.*;

    import java.awt.event.*;

    public class TestActionEvent

    {

    public static void main(String args[])

    {

    Frame. f=new Frame("Test");

    Button b=new Button("欢迎参加Java考试!");

    TestListener testmonitor=new TestListener();

    Monitor bh=new Monitor();

    b.addActionListener(bh);

    f.addwindowListener(testmonitor);

    f.add(b);

    f.setSize(150,100);

    f.setVisible(true);

    }

    }

    class Monitor ___________ ActionListener

    {

    public void actionPerformed(ActionEvent e)

    {

    System.out.println("a button has been pressed");

    }

    }

    class TestListener__________WindowAdapter

    {

    public void windowClosing(WindowEvent e)

    {

    System.exit(1);

    }

    }


    正确答案:implements extends
    implements extends 解析:本题主要考查Java的事件处理(驱动)机制。解答本题的关键是掌握事件处理机制中的事件、事件源和事件处理者的概念。在Java的事件处理机制中,一般情况下涉及到4个概念:(1)事件,用户对界面操作在Java语言上的描述,以类的形式出现,例如鼠标操作所对应的事件类是MousEvent。(2)事件源,事件发生的场所,通常就是各个构件,例如按钮Button。(3)事件处理者,接受事件对象并进行处理的对象。(4)事件适配器,Java语言为一些Listener接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter类,重写需要的方法,无关方法不用实现。值得注意的是,实现某个接口用关键字implement,而继承某个事件适配器类要用关键字extends。class Monitor implements ActionListener语句功能是声明一个实现ActionListener接口的类Monitor,class TestListener extends WindowAdapter功能是声明一个继承事件适配器类WindowAdapter的TeatListener类。

  • 第14题:

    请完成下列Java程序:使用JTabbedPane在窗口顶部建立一个图形标签,包含有两个标签窗格,一个使用简单标签(Labe1)显示欢迎信息,一个使用按钮和图标。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    程序运经结果如下:

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;

    public class ex8_2 extends JPane1 {

    public ex8_2() {

    JTabbedPane jtp=new JTabbedPane(SwingConstants.BOTTOM);

    Icon icon=new ImageIcon("icon.gif");

    JButton btn=new JButton(icon);

    JLabel l=new JLabel("Welcome to the NCR Examination!");

    ______________;

    ______________;

    setLayout(new BorderLayout());

    add(jtp,"Center");

    }

    public static void main(String args[]){

    ex8_2 obi8_2=new ex8_2();

    String str= obj8_2.getClass().toString();

    if(str.indexOf("class") != -1)

    str = str.substring(6);

    JFrame. frm = new JFrame(str);

    frm.addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent we) {

    System.exit(O);

    }

    });

    frm.getContentPane () .add(obj8_2);

    frm.setSize(300, 200);

    frm.setVisible(true);

    }

    }


    正确答案:jtp.addTab(" Icon "iconbtn) itp.addTab(" Welcome" 1)
    jtp.addTab(" Icon ",icon,btn) itp.addTab(" Welcome" ,1) 解析:本题主要考查使用JPanel构件创建图形用户界面。解题关键是熟悉JTabbedPanel类的使用方法,包括创建图形标签,并加入Frame容器中,以及在标签窗口中添加标签窗格,定制标签窗格等。本题中,第1个空,调用addTab()方法将标签对象 1加入jtp对象中;第2个空,调用addTab()方法将icon和btn的混合对象加入jtp对象中。

  • 第15题:

    请完成下列Java程序;实现JComboBox,包含3个选项,分别是java、c++、vb,以及1个文本区,用于显示选择结果。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    源程序文件代码清单如下:

    import java.awt.event.*;

    import javax.swing.*;

    import java.awt.*;

    public class ex14_2 extends JFrame. implements ItemListener

    {

    BorderLayout bLay = new BorderLayout();

    JTextField jtf = new JTextField(27);

    JComboBox jcb = new JComboBox();

    public ex14_2()

    {

    super ("ex14_2");//调用当前类ex14_2的父类JFrame的构造方法。

    jcb.addItemListener(this);

    jcb.addItem("java");

    jcb.addItem("c++");

    jcb.addItem("vb");

    jcb.setEditable(false);

    jtf.setHorizontalAlignment(SwingConstants.CENTER);

    jtf.setEditable(false);

    JPanel jp = new JPanel();

    jp.setLayout(bLay);

    jp.add(jtf, "South");

    jp.add(jcb, "Center");

    setContentPane(jp);

    }

    public static void main(String[] args)

    {

    JFrame. frame. = new ex14_2();

    frame.pack();

    frame.setVisible(true);

    }

    public void itemStateChahged(ItemEvent ie)

    {

    Object o =

    if (o == job)

    {

    Object newO;

    ______;

    jtf.setText(newO.toString()+"被选中!");

    }

    repaint();

    }

    }


    正确答案:ie.getSource() newO=ie.getItem()
    ie.getSource() newO=ie.getItem() 解析:本题主要考查用swing进行图形用户界面开发。解题关键是熟悉JTextField和JComboBox等构件的使用方法,以及事件处理机制,掌握在swing环境下的ItemListener监听器的使用方法。本题中,第1个空,ItemEvent类的 ie对象调用getSource()方法获得发生事件的对象o:第2个空,ie调用getItem()方法获得选项的对象,并写给新的对象newO。

  • 第16题:

    请完成下列Java程序。实例listener是监听器,frm是事件源,fr上发生的事件委托tat进行处理。程序的执行结果是显示一个蓝色的窗口,单击关闭按钮,可关闭窗口。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    源程序文件代码清单如下:

    import java.awt.*;

    import java.awt.event.*;

    public class BlueWindow

    {

    public static void main(String args[])

    {

    Frame. frm=new Frame. ("欢迎参加Java考试!");

    TheAdapterTest listener=new TheAdapterTest();

    frm. ______;

    frm.setSize(200,200);

    frm.setBackground(Color.blue);

    frm. ______;

    }

    }

    class TheAdapterTest extends WindowAdapter

    {

    public void windowClosing(WindowEvent e)

    {

    System.exit(1);

    }

    }


    正确答案:addWindowListener(listener) setVisible(true)
    addWindowListener(listener) setVisible(true) 解析:本题主要考查窗体事件的处理机制。解答本题的关键是熟悉Java语言的事件处理机制(事件、事件源和事件处理者)。在本题中,frm.addWindowListener(listener);语句的功能是为窗体对象注册监听器;frm.setVisible (true)语句的功能是使生成的窗体具有可见性,若frm.setVisible(false),则生成的窗体是不可见的。

  • 第17题:

    当按下鼠标时,一个圆不断地增大半径。

    注意:请勿改动已有语句内容,仅在下划线处填入适当的语句。

    import java.applet.*;

    import java.awt.*;

    import java.awt.event.*;

    public class ex1 extends applet implements MouseListener

    {

    TextField text;

    int x;

    public void init()

    {

    x=6;

    text=new TextField(30);

    add(text);

    addMouseListener(this);

    }

    public void paint(Graphics g)

    {

    x= x+2;

    g.drawOval(10,10,x,x);

    }

    public void mousePressed(MouseEvent e)

    {

    Text.setText("鼠标按下的位置是:"+e.getX()+","e.getY());

    repaint();

    }

    public void mouseReleased(MouseEvent e)

    {

    Text.setText("鼠标松开的位置是:"+e.getX()+","e.getY());

    repaint();

    }

    public void mouseEntered(MouseEvent e)

    {

    Text.setText("鼠标进来的位置是:"+e.getX()+","e.getY());

    repaint();

    }

    public void mouseExited(MouseEvent e)

    {

    Text.setText("鼠标退出的位置是:"+e.getX()+","e.getY());

    ______;

    }

    }


    正确答案:repaint()
    repaint() 解析:本题考查对鼠标事件的掌握,鼠标事件有很多种,最常用的有mousePressed(MouseEvent)、 mouseReleased(MouseEvent)、mouseEntered(MouseEvent)、mouseExited(MouseEvent)、 mouseClicked(MouseEvent e)等。MouseEvent有几个重要的方法,getX()、getY()、getModifiers()、 getClickCount()、getSource()等。本题目中的空白处应该填写repaint()。

  • 第18题:

    请完成下列Java程序:生成一个窗口,包含一个长度为100的横向滚动条,实现对这个滚动条状态的监视,计算出滚动条的位置在整个长度的百分比,并通过画布将该值输出在滚动条上方的区域中。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    程序运行结果如下:

    import java.awt.*;

    import java.awt.event.*;

    public class ex19_2 extends Frame. implements AdjustmentListener {

    private Scrollbar sb;

    private msgWnd mw;

    private int val;

    public static void main(String[] arg) {

    ex19_2 obj19_2=new ex19_2();

    }

    public ex19_2() {

    setTitle("ex19_2");

    addWindowListener((WindowListener)new winListener());

    mw = new msgWnd();

    add("Center",mw);

    sb = new Scrollbar(Scrollbar. HORIZONTAL);

    sb.setVisibleAmount(10);

    sb.setBlockIncrement(6);

    sb.setUnitIncrement(5);

    sb.addAdjustmentListener(this);

    add("South",sb);

    pack();

    show();

    }

    public void adjustmentValueChanged(AdjustmentEvent ae) {

    val = ae.getValue();

    _______________;

    }

    class msgWnd extends Canvas {

    msgWnd() {

    setSize(450,20);

    }

    public void paint(Graphics g) (

    g.drawString(" val=" +____________________+"%",10,15);

    }

    }

    class winListener extends WindowAdapter {

    public void windowClosing(WindowEvent we) {

    System.exit(0);

    }

    }

    }


    正确答案:mw.repaint() val*100/sb.getMaximum()
    mw.repaint() val*100/sb.getMaximum() 解析:本题主要考查AWT基本构件滚动条的简单操作和事件处理。解题关键是熟悉ScrollBar构件的创建设置和相关事件的处理,会使用Scrollbar的基本方法如用getMaximum()得到滚动条的长度等。本题中,第1个空,调用mpaint()方法,由于这里是在画布中实现绘图操作,因此,应该使用画布的对象mw来调用此方法;第2个空,计算滚动条当前位置占整体长度的百分比,用到了getMaximum()方法,注意由于是求百分比,因此需要再乘100,否则结果为0。

  • 第19题:

    以下程序中,使用适当的布局管理器,在Frame框的“North”位置添加一句提示信息,在“South”位置添加一个单行文本框,在这个文本框中输入的内容将会显示在“Center”位置。运行结果如下图所示。

    注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。

    import java.awt.*;

    import java.awt.event.*;

    public class Example2_6 extends Frame

    {

    public static void main(String [] argv)

    {

    Example2_6 frame. = new Example2_6("Example2_6");

    frame, init ();

    frame.setSize(300, 300);

    frame, show ();

    }

    public Example2_6(String name)

    {

    super (name);

    addWindowListener (new WindowAdapter ()

    { public void windowClosing(WindowEvent e)

    { __________;

    }

    } );

    }

    public void init()

    {

    setLayout (new ___________);

    Label labelTitle = new Label("在文本框中输入字符串,可以在Frame. 中间显示");

    Label showTextLabel = new Label();

    TextField textField = new TextField("请在这里输入字符串");

    textField.addActionListener (new AddStringListener(showTextLabel, textField) );

    add("North", labelTitte);

    add("Center", showTextLabel);

    add("South", textField);

    }

    }

    class AddStringListener implements ActionListener

    {

    Label label;

    TextField textField;

    public AddStringListener(Label label, TextField textField)

    {

    this. label = label;

    this.textField = textField;

    }

    public void actionPerformed(ActionEvent e)

    {

    label, setText (textField. getText ());

    }

    }


    正确答案:System.exit(0) BorderLayout()或者带参数的BorderLayout(intint)也正确
    System.exit(0) BorderLayout()或者带参数的BorderLayout(int,int)也正确 解析:本题考查知识点:AWT库的使用、布局管理器的使用。
    解题思路:程序使用“labelTitle”来显示提示信息,使用“textField”来获取用户的输入,最后将用户输入的结果通过“showTextLabel”显示出来。
    Frame的关闭按钮的处理方式与JFrame的方式不相同,Frame必须手动实现退出按钮的事件处理机制,否则单击关闭按钮程序不会做出响应。
    本题的第一个空就是对退出按钮的事件响应内容。
    BorderLayout布局管理器将容器分为五个区域:North、South、East、West和Center。可以指定构件放在那个区域,但是每个区域只能放置一个构件。第二个空即是为Frame设置BorderLayout类型的布局管理器。

  • 第20题:

    请完成下列Java程序。程序的输出结果:a=6,b=5。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    程序运行结果如下:

    public class ex38_2{

    public static void main(String args[])

    {

    int a=5,b=6;

    a=_________;

    b=a-b;

    a=_________;

    System.out.println("a="+a+"\tb="+b);

    }

    }


    正确答案:a+b a-b
    a+b a-b 解析:本题主要考查变量的基本运算。解答本题的关键是理解程序的基本思想。本题的思想是不借助第3个变量来交换两个数的值。

  • 第21题:

    阅读以下说明和Java代码,将解答写入对应栏内。

    【说明】

    请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、 Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方,如图3所示。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    【程序】

    import java. awt.*;

    import java, awt. event.*;

    public class square {

    public static void main(String args[ ]){

    (1)

    }

    }

    class AppFrame. extends Frame{

    TheAdapterTest listener = new TheAdapterTest( );

    Text Field in = new TextField (5);

    Button btn = new Button("计算");

    Label ut = new Label("用于显示计算结果");

    public AppFrame( )

    {

    setLayout( new FlowLayout( ));

    add(in);

    add(btn)

    add(out);

    btn. addActionListener( new BtnActionAdapter( ));

    addWindowListener (listener);

    setSize(400,100);

    show( );

    }

    class BtnActionAdapter implements (2) {

    public void actionPerformed((3)) {

    String s = in. getText( );

    double d =(4)

    double sq = d * d;

    out. setText(d+"的平方是:" +sq);

    }

    }

    class TheAdapterTest extends WindowAdapter

    {

    public void windowCIosing((5))

    {

    System. exit(1)

    }

    }

    }


    正确答案:(1)new AppFrame() (2)ActionListener (3)ActionEvent (4)IntegerparseInt(s);或等价形式 (5)WindowEvent
    (1)new AppFrame() (2)ActionListener (3)ActionEvent (4)Integer,parseInt(s);或等价形式 (5)WindowEvent 解析:生成类AppFrame的对象。实现接口ActionListener。按钮动作事件类名。将字符串a转化为整数并赋给变量d。窗口事件类名。

  • 第22题:

    本题的功能是获取鼠标在窗口中的位置。当鼠标移进窗口中,就会实时显示鼠标在窗口中的相对位置,如显示为‘‘鼠标的当前位置:X:Y”(其中,X为横坐标,Y为纵坐标)。


    正确答案:
    第1处:implements MouseMotionListener
    第2处:extends MouseAdapter
    【解析】第l处实现了MouseMotionListener接口鼠标移动事件的监听;第2处是继承MouseAdapter这个抽象类。

  • 第23题:

    ●试题六

    阅读以下说明和Java代码,将解答写入答题纸的对应栏内。

    【说明】

    请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方,如图3所示。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    【程序】

    import javA.awt.*;

    import javA.awt.event.*;

    public class square {

    public static void main(String args[]){

    (1)

    }

    }

    class AppFrame. extends Frame{

    TheAdapterTest listener=new TheAdapterTest();

    TextField in=new TextField (5) ;

    Button btn=new Button("计算");

    Label ut=new Label("用于显示计算结果");

    public AppFrame()

    {

    setLayout(new FlowLayout());

    add(in);

    add(btn);

    add(out);

    btn.addActionListener(new BtnActionAdapter());

    addWindowListener(listener);

    setSize(400,100);

    show();

    }

    class BtnActionAdapter implements (2) {

    public void actionPerformed( (3) ){

    String s=in.getText();

    double d= (4)

    double sq=d*d;

    out.setText(d+"的平方是:"+sq);

    }

    }

    class TheAdapterTest extends WindowAdapter

    {

    public void windowClosing( (5) )

    {

    System.exit (1) ;

    }

    }

    }


    正确答案:

    ●试题六

    【答案】 (1)new AppFrame()

    (2)ActionListener

    (3)ActionEvent

    (4)Integer.parseInt(s);或等价形式

    (5)WindowEvent

    【解析】生成类AppFrame的对象。实现接口ActionListener。按钮动作事件类名。将字符串s转化为整数并赋给变量d。窗口事件类名