[问答题] 本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有一个按钮“Draw line”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击一下,在单击的地方就会出现一个坐标圆点,用

16 查阅

[问答题] 本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有一个按钮“Draw line”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击一下,在单击的地方就会出现一个坐标圆点,用鼠标在另外一个地方单击一下又会出现另外一个圆点,并且此时在两个坐标圆点间画出一条直线,且“Draw line”处于可用状态,再单击这个按钮就可以画另外一条直线。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class EventQueuePanel extends JPanel implements ActionListener

EventQueuePanel()

JButton button=new JButton("Draw line");

add(button);

button.addActionListener(this);

public void actionPerformed(AclionEvent evt)

Graphics g=getGraphics();

______p=getClick();

g.drawOval(p.x-2,p.y-2,4,4);

Point q=getClick();

g.drawOval(q.x-2,q.y-2,4,4);

g.drawLine(p.x,p.y,q.x,q.y);

g.dispose();

public Point getClick()

EventQueue eq=Toolkit.getDefaultToolkit().getSystemEventQueue();

while(true)

try

AWTEvent

参考答案:

第1处:Point 第2处:nevt.getPoint

第1处表示获得Point型的坐标给了p;第2处获得鼠标单击的坐标。

计算机考试