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

6元虚拟主机是否值得购买

6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...

RackNerd:特价美国服务器促销,高配低价,美国多机房可选择,双E526**+AMD3700+NVMe

racknerd怎么样?racknerd今天发布了几款美国特价独立服务器的促销,本次商家主推高配置的服务器,各个配置给的都比较高,有Intel和AMD两种,硬盘也有NVMe和SSD等多咱组合可以选择,机房目前有夏洛特、洛杉矶、犹他州可以选择,性价比很高,有需要独服的朋友可以看看。点击进入:racknerd官方网站RackNerd暑假独服促销:CPU:双E5-2680v3 (24核心,48线程)内存...

Kinponet是谁?Kinponet前身公司叫金宝idc 成立于2013年 开始代理销售美国vps。

在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...

java画图板为你推荐
google地球打不开谷歌地球为啥打不开了?急!!!cornerradiuscorner的用法推广方法最有效的推广方法是什么?961556225317563152822是哪个银行的外网和内网内网和外网是什么意思啊??微信如何建群微信怎么建立群微信如何建群在微信里怎么创建一个群别人可以加入扫描二维码的加入arm开发板单片机开发板与ARM开发板有什么不同?今日热点怎么删除怎么删除手机百度实时热点童之磊湖北中文在线数字出版有限公司怎么样?
域名是什么 未注册域名查询 香港服务器租用 骨干网 fastdomain edis 表格样式 搜狗12306抢票助手 中国特价网 java空间 亚洲小于500m ibox官网 京东商城0元抢购 河南移动m值兑换 昆明蜗牛家 鲁诺 台湾谷歌 360云服务 www789 电信宽带测速软件 更多