要求:
编写程序在鼠标点击处绘制一个固定大小的圆形及该圆的外接矩形import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class MyJFrame extends JFrame
{
public MyJFrame()
{
setTitle("画圆和矩形");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=getContentPane();
c.add(new ShapesPanel());
}
}
class ShapesPanel extends JPanel
{
int x,y;
ShapesPanel()
{
addMouseListener(new MyMouselistener());
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.fillOval(x,y,50,50);
g.fillRect(x,y,100,100);
}
private class MyMouselistener implements MouseListener
{
//int x,y;
public void mouseClicked(MouseEvent me)
{
x=me.getX();
y=me.getY();
repaint();
}
}
}
class MyDraw
{
public static void main (String args[])
{
MyJFrame frame = new MyJFrame();
frame.show();
}
}
运行后提示错误:
MyDraw.java:29: ShapesPanel.MyMouselistener is not abstract and does not overrid
e abstract method mouseReleased(java.awt.event.MouseEvent) in java.awt.event.Mou
seListener
private class MyMouselistener implements MouseListener
^
1 error
不知哪有问题?
编写程序在鼠标点击处绘制一个固定大小的圆形及该圆的外接矩形import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class MyJFrame extends JFrame
{
public MyJFrame()
{
setTitle("画圆和矩形");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=getContentPane();
c.add(new ShapesPanel());
}
}
class ShapesPanel extends JPanel
{
int x,y;
ShapesPanel()
{
addMouseListener(new MyMouselistener());
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.fillOval(x,y,50,50);
g.fillRect(x,y,100,100);
}
private class MyMouselistener implements MouseListener
{
//int x,y;
public void mouseClicked(MouseEvent me)
{
x=me.getX();
y=me.getY();
repaint();
}
}
}
class MyDraw
{
public static void main (String args[])
{
MyJFrame frame = new MyJFrame();
frame.show();
}
}
运行后提示错误:
MyDraw.java:29: ShapesPanel.MyMouselistener is not abstract and does not overrid
e abstract method mouseReleased(java.awt.event.MouseEvent) in java.awt.event.Mou
seListener
private class MyMouselistener implements MouseListener
^
1 error
不知哪有问题?
如果不用,也要继承下来啊!
不能为私有
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}