AWT 双缓冲

import java.awt.*;
import java.awt.event.*;

public class DrawLine extends Frame {
 
 Image img = null;
 Graphics gp = null;
 
 public void paint(Graphics g){ 
  
  g.drawImage(img,0,0,this); 
    
 }
 
 /**
  * Method main
  *
  *
  * @param args
  *
  */
 public static void main(String[] args) {

  DrawLine dfm = new DrawLine();  
 }
 /**
  * Method DrawLine
  *
  *
  */
 public DrawLine() {
  this.setSize(400,400);
  this.setTitle("draw line");
  this.setVisible(true); 
   
  Dimension d = this.getSize();
  img = createImage((int)d.getWidth(),(int)d.getHeight());
  gp = img.getGraphics();
  
  
  this.addWindowListener(
   new WindowAdapter()
   {
    public void windowClosing(WindowEvent e)
    {
     dispose();
     System.exit(0);
    }
   }
  );
  
  this.addMouseListener(
   new MouseAdapter()
   {
     int orgX;
     int orgY;
     int endX;
     int endY;
 
    public void mousePressed(MouseEvent e)
    {
     orgX = e.getX();
     orgY = e.getY();
    }
    public void mouseReleased(MouseEvent e)
    {
   
     Graphics g = getGraphics();
     endX = e.getX();
     orgY = e.getY();
     
     g.setColor(Color.RED);
     g.setFont(new Font("",Font.BOLD|Font.ITALIC,30));
     g.drawLine(orgX,endX,orgY,orgY);
     
     gp.setColor(Color.RED);
     gp.setFont(new Font("",Font.BOLD|Font.ITALIC,30));
     gp.drawLine(orgX,endX,orgY,orgY);
    }
   }
   
  );
  
 }
  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值