import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 
import java.awt.Toolkit;
import java.awt.Graphics;
import java.awt.Image;
public class Test2{ 
public static void main(String[] agrs){ 
        new MFrame().Fun1(); 
System.out.println("lklkl");} 
} class MFrame extends Frame{  
ArrayList <Point> aa = new ArrayList <Point>();  
public void Fun1(){ 
new MyFrame();
    setBounds(600, 600, 200, 200);
setLayout(null); 
setVisible(true);
    addMouseListener(new MyMouseListener()); //添加指定的鼠标侦听器
}         public void paint(Graphics e){
Color a = e.getColor(); 
e.setColor(Color.red); 
Iterator <Point> z = aa.iterator();  while(z.hasNext()){ 
  Point s = z.next(); 
  e.fillOval(s.x, s.y, 10, 10);  }  }  public void addPoint(Point e){
aa.add(e); 
}  
class MyMouseListener extends MouseAdapter{
public void mousePressed(MouseEvent e) { 
MFrame my = (MFrame) e.getSource(); 
my.repaint();
my.addPoint(new Point(e.getX(), e.getY()));
 System.out.print("s.x="+e.getX());
my.repaint();


} class MyFrame extends javax.swing.JFrame
{
MyFrame()
{
mp=new Mypanel();
this.add(mp);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public Mypanel mp;}  
class Mypanel extends javax.swing.JPanel
{
public Image image;
Mypanel()
{
  this.image=Toolkit.getDefaultToolkit().getImage("c:\\1.jpg");
}
public void paintComponent(Graphics g)
{
  super.paintComponent(g);
  g.drawImage(image,0,0,null);
}}
总是不成功,要么只能画点,要么只能出图片。哪个高手给指导下

解决方案 »

  1.   

    import java.awt.*; 
    import java.awt.event.*; 
    import java.util.*; 
    import java.awt.Toolkit;
    import java.awt.Graphics;
    import java.awt.Image;
    public class Test2{ 
    public static void main(String[] agrs){ 
            new MFrame().Fun1(); 
    System.out.println("lklkl");} 
    } class MFrame extends Frame{  
    ArrayList <Point> aa = new ArrayList <Point>();  
    public void Fun1(){ 
    MyFrame my=new MyFrame();
        my.setBounds(600, 600, 200, 200);
    my.setVisible(true);
        my.addMouseListener(new MyMouseListener()); //添加指定的鼠标侦听器
    }         public void paint(Graphics e){
    Color a = e.getColor(); 
    e.setColor(Color.red); 
    Iterator <Point> z = aa.iterator();  while(z.hasNext()){ 
      Point s = z.next(); 
      e.fillOval(s.x, s.y, 10, 10);  }  }  public void addPoint(Point e){
    aa.add(e); 
    }  
    class MyMouseListener extends MouseAdapter{
    public void mousePressed(MouseEvent e) { 
    MFrame bb = (MFrame) e.getSource(); 
    bb.addPoint(new Point(e.getX(), e.getY()));
     System.out.print("s.x="+e.getX());
    bb.repaint();


    } class MyFrame extends javax.swing.JFrame
    {
    MyFrame()
    {
    mp=new Mypanel();
    this.add(mp);
    this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
    }
    public Mypanel mp;}  
    class Mypanel extends javax.swing.JPanel
    {
    public Image image;
    Mypanel()
    {
      this.image=Toolkit.getDefaultToolkit().getImage("c:\\1.jpg");
    }
    public void paintComponent(Graphics g)
    {
      super.paintComponent(g);
      g.drawImage(image,0,0,null);
    }}程序改成这样,依然有问题。。一点点就显示错误