[试题]

本题中,鼠标在窗口中单击一下,就在单击的位置生成一个小矩形,如果在小矩形上双击鼠标左键,则删除小矩形。 import java.awt.*; import java.awt.event.*; import javax swing.*; class MousePanel extends JPanel extends MouseMo- tionListener {public MousePanel {addMouseListener(new MouseAdapter {public void mousePressed(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; current=find(x,y); if(current<0) add(x,y); } public void mouseClicked(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; if(evt.getClickCount>=2) {remove(current); } } }); addMouseMotionListener(this); } public void paintComponent(Graphics g) {super.paintComponent; for(int i=0;i<nsquares;i++) draw(g,i); } public int find(int X,int y) (for(int i=0;i<nsquares;i++) if(squares[i].x-SQUARELENGTH/2<= x X<=squares[i].x+SQuARELENGTH/2 squares[i].Y-SQUARELENGTH/2< =Y y<=squares[i].Y+SQUARELENGTH /2) return i ; return-1 ; } public void draw(Graphics g,int i) {g.drawRect(squares[i].X-SQUARE- LENGTH/2。 squares[i].Y-SQUARELENGTH/2, SQUARELENGTH, SQUARELENGTH); } public void add(int X,int Y) {if(nsquares<MAXNSQUARES) {squares[nsquares]=new Point(x,y); current=nsquares ; nsquares++; repaint; } } public void remove(int n) {if(n<0 ‖ n>=nsquares)return; Nsquares- -; squares[n]=squares[nsquares]; if(current= =n)current= -l; repaint; } public void mouseMoved(MouseEvent evt) {} public void mouseDragged(MouseEvent evt) {} private static final int SQUARELENGTH=10: private static final int MAXNSQUARES=100; private Point[]squares=new Point[MAX- NSQUARES]; private int nsquares=0; private int current=-l; } class MouseFrame. extends JFramc {public MouseFrame {setTitle("java3"); setSize(300,200); addWindowListener(new WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0); } }); Container contentPane=getContentPane; contentPane.add(MousePanel); } } public class java3 {public static void main(String[]args) {JFrame. frame=new MouseFrame; frame.show; } }

参考答案与解析:

相关试题

本题的功能是获取鼠标在窗口中的位置。当鼠标移进窗口中,就会实时显示鼠标在窗口中的

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

  • 查看答案
  • 在Flash时间轴窗口中,帧用小矩形的方格表示,一个方格表示()

    [单选题]在Flash时间轴窗口中,帧用小矩形的方格表示,一个方格表示()A . 1帧B . 2帧C . 3帧D . 4帧

  • 查看答案
  • 本题的功能是跟踪鼠标在窗口的操作,以及在窗口的坐标,包括移进、移出、移动、单击、

    [试题]本题的功能是跟踪鼠标在窗口的操作,以及在窗口的坐标,包括移进、移出、移动、单击、释放和拖曳,并将这些信息显示在窗口的文字标签上。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class java3 extends JFrame. implements MouseL- istener MouseMotionListener { private JLabel statusBar; public jav

  • 查看答案
  • 本题的功能是监听鼠标左右键的单击,以及面板中滚动条的添加。在窗口的画板中单击鼠标

    [试题]本题的功能是监听鼠标左右键的单击,以及面板中滚动条的添加。在窗口的画板中单击鼠标左键,在单击的位置绘制一个圆,当绘制的圆大于画板的大小时,画板就添加滚动条,在画板中单击鼠标右键,则清除画板中的所有图形。 import javax.swing.*; import javax.swing.event.MouselnputAdapter; import java.awt.*; import java.awt.event.*; import java.util.*; public class java3

  • 查看答案
  • 在打印预览的窗口中,如果想看一下显示的内容与纸边缘的相对位置,可以单击一下工具栏

    [单选题]在打印预览的窗口中,如果想看一下显示的内容与纸边缘的相对位置,可以单击一下工具栏上的()按钮。A . 设置B . 页边距C . 缩入D . 打印

  • 查看答案
  • 在Windows资源管理器窗口中,用鼠标单击目录树窗口中的一个文件夹,则()

    [单选题]在Windows资源管理器窗口中,用鼠标单击目录树窗口中的一个文件夹,则()A . 删除文件夹B . 选定当前文件夹,显示其内容C . 创建文件夹D . 弹出对话框

  • 查看答案
  • 鼠标单击第一个文件,按下Shift键后用鼠标单击最后一个文件,则选中()。

    [单选题]鼠标单击第一个文件,按下Shift键后用鼠标单击最后一个文件,则选中()。A .单个文件B .多个不连续文件C .一组连续文件D .所有文件

  • 查看答案
  • 恢复一个最小化窗口的操作是用鼠标左键单击()上该窗口的按钮。

    [单选题]恢复一个最小化窗口的操作是用鼠标左键单击()上该窗口的按钮。A.桌面B.任务栏C.文件夹D.开始菜单

  • 查看答案
  • 恢复一个最小化窗口的操作是用鼠标左键单击( )上该窗口的按钮。

    [单选题]恢复一个最小化窗口的操作是用鼠标左键单击( )上该窗口的按钮。A.桌面B.任务栏C.文件夹D.开始菜单

  • 查看答案
  • 恢复一个最小化窗口的操作是用鼠标左键单击( )上该窗口的按钮。

    [单选题]恢复一个最小化窗口的操作是用鼠标左键单击( )上该窗口的按钮。A.桌面B.任务栏C.文件夹D.开始菜单

  • 查看答案