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(12.95美元/月CN2 GT线路,KVM架构1 Gbps带宽

整理一下CloudCone商家之前推送的闪购VPS云服务器产品,数量有限,活动推出可能很快机器就售罄了,有需要美国便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开发的主机系统面板,CloudCone主要销售美国洛杉矶云服务器产品,优势特点是...

久久网云-目前最便宜的国内,香港,美国,日本VPS云服务器19.9元/月起,三网CN2,2天内不满意可以更换其他机房机器,IP免费更换!。

久久网云怎么样?久久网云好不好?久久网云是一家成立于2017年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,久久网云目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港荃湾CN2弹性云服务器。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为...

SugarHosts糖果主机圣诞节促销 美国/香港虚拟主机低至6折

SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...

java画图板为你推荐
回收站在哪回收站在哪?伪装微信地理位置什么软件可以伪装QQ微信的地理位置?深圳公交车路线深圳公交线路邮箱打不开怎么办163邮箱突然打不开了怎么办依赖注入什么是侵入性?还有依赖注入?彩信中心移动的短信中心号码是多少安装迅雷看看播放器迅雷看看不能播放,说我尚未安装迅雷看看播放器ejb开发什么是EJB?它是干什么的?和JAVA,JSP有关系吗?他们各有什么特点和用途?idc前线怎么知道我电脑是3兆的宽带?宕机宕机是什么意思
查询ip地址 个人域名备案流程 泛域名绑定 老鹰主机 一元域名 京东商城0元抢购 100m空间 什么是服务器托管 台湾谷歌 新世界服务器 360云服务 中国域名 lamp什么意思 域名和主机 mteam 谷歌搜索打不开 锐速 上海联通 傲盾代理 tracert 更多