Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 求助,帮忙改改这个程序啊
vickey312





发贴: 8
积分: 0
于 2005-05-07 14:26 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
写出来一个程序是简单的画图,大侠们看了就知道了
但是有个小问题
怎么画后面的线的话,都会擦掉前面线的交点
恳求各位帮帮忙啊~~~
程序如下:
package c7.MouseDraw;
import java.awt.*;
import java.awt.event.*;

public class MouseDraw
{
public static void main(String[] args)
{
MouseFrame frame=new MouseFrame();
  frame.addWindowListener(new Wadapt());
  frame.setVisible(true);
}
}

class MouseFrame extends Frame
{
public MouseFrame()
{
setTitle("利用鼠标绘图");
  setSize(300,300);
  MousePanel panel=new MousePanel();
  add(panel);
}
}

class MousePanel extends Panel implements MouseListener,MouseMotionListener
{
private int x,y,start_X,start_Y,old_X,old_Y;
private boolean draw;
public MousePanel()
{
addMouseListener(this);
addMouseMotionListener(this);
}

public void mousePressed(MouseEvent evt)
{
start_X=evt.getX();
start_Y=evt.getY();
draw=false;
}
public void mouseReleased(MouseEvent evt){}

public void mouseClicked(MouseEvent evt){}

public void mouseEntered(MouseEvent evt)
{
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}

public void mouseExited(MouseEvent evt)
{
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}

public void mouseDragged(MouseEvent evt)
{
x=evt.getX();
y=evt.getY();
repaint();
}

public void mouseMoved(MouseEvent evt){}

public void update(Graphics g)
{
paintPresent;
}
  
public void paint(Graphics g)
{
if(!draw)
{
old_X=x;
old_Y=y;
draw=true;
}
else
{
g.setColor(getBackground());
g.drawLine(start_X,start_Y,old_X,old_Y);
old_X=x;
old_Y=y;
}
g.setColor(getForeground());
g.drawLine(start_X,start_Y,x,y);
}
}

class Wadapt extends WindowAdapter
{
public void windowClosing(WindowEvent evt)
{
Frame frm=(Frame)evt.getSource();
frm.setVisible(false);
frm.dispose();
System.exit(0);
}
}




话题树型展开
人气 标题 作者 字数 发贴时间
3849 求助,帮忙改改这个程序啊 vickey312 2202 2005-05-07 14:26
3201 Re:求助,帮忙改改这个程序啊 vickey312 18 2005-05-07 21:32

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923