java画图板用java编写绘图工具的代码

java画图板  时间:2021-01-16  阅读:()

怎样在java画板实现喷墨

import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Random; import javax.swing.JFrame; public class PenMo extends JFrame { public static void main(String[] args) { new PenMo(); } private boolean penmo;// 喷墨状态 private int mx, my;// 鼠标位置 private Random r = new Random();// 随机数生成器 public PenMo() { setSize(800, 600); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); addMouseListener(new MouseAction()); addMouseMotionListener(new MouseAction()); } @Override public void paint(Graphics g) { if (penmo) { for (int i = 0; i < 50; i++) {// 一次喷墨的颗粒个数50个. int dx;// dx是x方向偏移 int dy;// dy是y方向偏移 do { dx = r.nextInt(50) - 25;// 喷墨的半径在这改,50和下面的25. dy = r.nextInt(50) - 25; } while (dx * dx + dy * dy > 25 * 25); drawPoint(g, mx + dx, my + dy); } } } private void drawPoint(Graphics g, int px, int py) { g.drawLine(px, py, px, py); } private final class MouseAction extends MouseAdapter { @Override public void mousePressed(MouseEvent e) { mx = e.getX(); my = e.getY(); penmo = true; new RunAction().start(); } @Override public void mouseReleased(MouseEvent e) { penmo = false; } @Override public void mouseDragged(MouseEvent e) { if (penmo) { mx = e.getX(); my = e.getY(); } } private final class RunAction extends Thread { @Override public void run() { while (penmo) { try { repaint(); sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } } } } }

怎样用java编写画图板?

这个简单 填充颜色的话就是设置一下一个区域的背景颜色 画图就可以记录鼠标位置然后产生一条线 简单的很啊

用java编写绘图工具的代码

import java.applet.*; import java.awt.*; import java.awt.event.*; public class ResponseToMouse extends Applet implements ActionListener,MouseListener,MouseMotionListener { int xPos,yPos,k=0; Button btnDraw,btnClean,btnErase; public void init() { btnDraw = new Button("画图"); btnClean = new Button("清屏"); btnErase = new Button("擦除"); add(btnDraw); add(btnClean); add(btnErase); btnDraw.addActionListener(this); btnClean.addActionListener(this); btnErase.addActionListener(this); addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g) { if(k==1) { g.setColor(Color.red); g.fillOval(xPos-5,yPos-5,10,10); } if(k==2) { super.update(g); } if(k==3) { g.setColor(Color.white); g.fillOval(xPos-5,yPos-5,10,10); } } public void actionPerformed(ActionEvent e){ if (e.getSource()==btnDraw) k=1; if(e.getSource()==btnClean){ k=2; repaint(); } if(e.getSource()==btnErase) k=3; } public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { showStatus("鼠标键按下"); } public void mouseReleased(MouseEvent e) { showStatus("鼠标键释放"); } public void mouseEntered(MouseEvent e) { showStatus("鼠标进入"); } public void mouseExited(MouseEvent e) { showStatus("鼠标移出"); } public void mouseDragged(MouseEvent e) { xPos=e.getX(); yPos=e.getY(); repaint(); } public void mouseMoved(MouseEvent e) { showStatus("鼠标移动"); } public void update(Graphics g){ paint(g); } }

弘速云(28元/月)香港葵湾2核2G10M云服务器

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...

#推荐# cmivps:全场7折,香港不限流量VPS,支持Windows系统

cmivps香港VPS带来了3个新消息:(1)双向流量改为单向流量,相当于流量间接扩大一倍;(2)Hong Kong 2T、Hong Kong 3T、Hong Kong 无限流量,这三款VPS开始支持Windows系统,如果需要中文版Windows系统请下单付款完成之后发ticket要求官方更改即可;(3)全场7折年付、8折月付优惠,优惠码有效期一个月!官方网站:https://www.cmivp...

2021年国内/国外便宜VPS主机/云服务器商家推荐整理

2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...

java画图板为你推荐
google地球打不开google地球无法打开怎么办支付宝查询余额怎么查询支付宝里的余额ps抠图技巧photoshop抠图技巧如何建立一个网站如何建立一个网站天天酷跑刷金币如何使用八门神器给天天酷跑刷钻刷金币迅雷云点播账号求迅雷云播账号雅虎天盾有没有用用雅虎天盾的啊?qq空间打扮如何打扮QQ空间?lockdowndiphone4s 完美越狱5.1.1时出现Could not connect to lockdownd。求救啊!!网站优化方案网站优化方案如何写?
域名中介 cpanel主机 softbank官网 2017年黑色星期五 免费全能空间 bgp双线 合租空间 网站cdn加速 老左正传 hkg adroit 申请网页 新睿云 论坛主机 中国linux ledlamp sonya forwarder 最新优惠 优惠服务器 更多