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); } }

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

Vultr新注册赠送100美元活动截止月底 需要可免费享30天福利

昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...

RackNerd($199/月),5IP,1x256G SSD+2x3THDD

我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...

java画图板为你推荐
伪装微信地理位置伪装微信地理位置 朋友圈显示地理位置怎么改快速美白好方法快速美白的好点子!?(不是晒黑的)依赖注入依赖注入到底是为了解决什么问题的1433端口路由器1433端口怎么开启网站联盟怎样进入网站联盟镜像文件是什么镜像文件是什么意思?vbscript教程请教一下高手们,这个VBS脚本难不难啊,我想学学这个,但是又不知道该从哪入手,希望高手指点指点??idc前线钢铁雄心2修改器Qzongqzong皮肤上怎样写字网站排名靠前如何让自己的网站排名靠前
免费二级域名注册 日本vps 鲁诺vps 主机测评 主机优惠码 krypt hostigation 美国主机网 evssl 网页背景图片 彩虹ip 华为4核 刀片服务器的优势 nerds 网络空间租赁 免费网页申请 中国电信宽带测速器 彩虹云 环聊 shuang12 更多