用java编写一个简单的画图程序。不用复杂

 我来答
夜独行孤单
2016-04-21 · TA获得超过3460个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:625万
展开全部
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame {

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例
Point aPoint;

//构造函数
public IrregularShapeDemo() {
super("不规则图形的绘制"); //调用父类构造函数
enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}

public void paint(Graphics g) { //重载窗口组件的paint()方法
Graphics2D g2D = (Graphics2D)g; //获取图形环境
g2D.draw(gPath); //绘制路径
}

public static void main(String[] args) {
new IrregularShapeDemo();
}

protected void processMouseEvent(MouseEvent e) { //鼠标事件处理
if(e.getID() == MouseEvent.MOUSE_PRESSED) {
aPoint = e.getPoint(); //得到当前鼠标点
gPath = new GeneralPath(); //重新实例化GeneralPath对象
gPath.moveTo(aPoint.x,aPoint.y); //设置路径点
}
}

protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理
if(e.getID() == MouseEvent.MOUSE_DRAGGED) {
aPoint = e.getPoint(); //得到当前鼠标点
gPath.lineTo(aPoint.x, aPoint.y); //设置路径
gPath.moveTo(aPoint.x, aPoint.y);
repaint(); //重绘组件
}
}
}
千锋教育
2016-04-21 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
package s;//包名
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  public class Test extends JFrame {
  int x1,y1,x2,y2;public Test(){
  setVisible(true);
  setSize(300,300) ;
  addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e){
  System.exit(0) ; }});
  addMouseListener(
  new MouseAdapter() {
  public void mousePressed(MouseEvent e){
  x1=e.getX();
  y1=e.getY();} });
  addMouseMotionListener(new MouseMotionAdapter() {
  public void mouseDragged(MouseEvent e){
  x2=e.getX() ;
  y2=e.getY() ;
  repaint(); }});
  }
  public void paint(Graphics g)
  {
  g.drawLine(x1,y1,x2,y2);
  x1=x2;
  y1=y2;
  }
  public static void main(String args[])
  {
  new Test();
  }
  }
  
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式