repaint 一次会撤销原来画上去的东西,我不想他撤销怎么办?import java.awt.*;
import javax.swing.JFrame;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class CanvasDemo1 extends Canvas implements MouseListener{
int clickX=100;
int clickY=100;
public void paint(Graphics g){
g.setColor(Color.black);
g.setFont(new Font("Times Roman",Font.BOLD,24));
g.drawString("hello!",clickX,clickY);
}
public static void main(String [] args){
JFrame frame=new JFrame("NAME");
CanvasDemo1 mc=new CanvasDemo1();
mc.setSize(320,320);
mc.addMouseListener(mc);
frame.add(mc,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public void mouseClicked(MouseEvent e){
clickX=e.getX();
clickY=e.getY();
repaint();
}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
import javax.swing.JFrame;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class CanvasDemo1 extends Canvas implements MouseListener{
int clickX=100;
int clickY=100;
public void paint(Graphics g){
g.setColor(Color.black);
g.setFont(new Font("Times Roman",Font.BOLD,24));
g.drawString("hello!",clickX,clickY);
}
public static void main(String [] args){
JFrame frame=new JFrame("NAME");
CanvasDemo1 mc=new CanvasDemo1();
mc.setSize(320,320);
mc.addMouseListener(mc);
frame.add(mc,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public void mouseClicked(MouseEvent e){
clickX=e.getX();
clickY=e.getY();
repaint();
}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
setOpaque(true);
就OK了
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class CanvasDemo1 extends JPanel implements MouseListener{
int clickX=100;
int clickY=100;
public void paint(Graphics g){
g.setColor(Color.black);
g.setFont(new Font("Times Roman",Font.BOLD,24));
g.drawString("hello!",clickX,clickY);
}public static void main(String [] args){
JFrame frame=new JFrame("NAME");
CanvasDemo1 mc=new CanvasDemo1();
frame.setSize(320, 320);
mc.setSize(320,320);
mc.addMouseListener(mc);
mc.setOpaque(true);
frame.add(mc,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
public void mouseClicked(MouseEvent e){
clickX=e.getX();
clickY=e.getY();
repaint();
}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}