java画图板java写的画图板保存图片是怎么实现的

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

跪求------java画图板设计(菜单方式) 急,急,急

看看你要的是不是这个

我只是用了一个菜单而已,只有清屏功能

import javax.swing.*; import java.awt.*; import java.awt.event.*;

public class PlantPanel extends JFrame{ private JMenuBar jmb; private JMenu jmu1; private JPopupMenu jpm1; private JMenuItem item1; private Plant jpl; public PlantPanel(){ super("画图"); item1 = new JMenuItem("清屏"); jmu1 =new JMenu("功能"); jmb = new JMenuBar(); jmu1.add(item1); jmb.add(jmu1); jpl=new Plant(); item1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ clear(); } }); add(jmb,BorderLayout.NORTH); add(jpl,BorderLayout.CENTER); setLocation(400,300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400,300); setVisible(true); } public void clear(){ this.remove(jpl); jpl =new Plant(); this.add(jpl,BorderLayout.CENTER); validate(); } public class Plant extends JPanel implements MouseMotionListener{ public Plant(){ addMouseMotionListener(this); } public void mouseDragged(MouseEvent e){ Point p=new Point(); Graphics g1= getGraphics(); paint(g1,p,e); } public void mouseMoved(MouseEvent e){ } public void paint(Graphics g,Point p,MouseEvent e){ p=e.getPoint();

g.setColor(Color.black);

g.fillOval(p.x,p.y,7,7);

}

}

public static void main(String arg[]){ new PlantPanel(); } }

简单的JAVA画板程序

import java.awt.*; class Draw{ public static void main(String[] args){ Frame f=new Frame(); f.setSize(300,300); f.add(new Canvas(){ public void paint(Graphics g){ g.setColor(Color.red); g.fillOval(0,0,80,80); } }); f.show(); } }

简单到我用匿名类了呵呵

求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!

取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 —————————————— 楼主, 不好意思我是学j2ee的,GUI不会,你看我以前的回答一个awt和swing都没有的,这是我们项目组一个牛人的代码,我在我的新系统中嵌入的,我实在无能为力,你觉的好就用不好我也没办法的, 楼主你可以等等看,应该还有牛人有解决方法 ———————————————— import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import java.awt.geom.*; import java.io.*; class Point implements Serializable { int x,y; Color col; int tool; int boarder; Point(int x, int y, Color col, int tool, int boarder) { this.x = x; this.y = y; this.col = col; this.tool = tool; this.boarder = boarder; } } class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener { int x = -1, y = -1; int con = 1;//画笔大小 int Econ = 5;//橡皮大小 int toolFlag = 0;//toolFlag:工具标记 //toolFlag工具对应表: //(0--画笔);(1--橡皮);(2--清除); //(3--直线);(4--圆);(5--矩形); Color c = new Color(0,0,0); //画笔颜色 BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//画笔粗细 Point cutflag = new Point(-1, -1, c, 6, con);//截断标志 Vector paintInfo = null;//点信息向量组 int n = 1; FileInputStream picIn = null; FileOutputStream picOut = null; ObjectInputStream VIn = null; ObjectOutputStream VOut = null; // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/ Panel toolPanel; Button eraser, drLine,drCircle,drRect; Button clear ,pen; Choice ColChoice,SizeChoice,EraserChoice; Button colchooser; Label 颜色,大小B,大小E; //保存功能 Button openPic,savePic; FileDialog openPicture,savePicture; paintboard(String s) { super(s); addMouseMotionListener(this); addMouseListener(this); paintInfo = new Vector(); /*各工具按钮及选择项*/ //颜色选择 ColChoice = new Choice(); ColChoice.add("black"); ColChoice.add("red"); ColChoice.add("blue"); ColChoice.add("green"); ColChoice.addItemListener(this); //画笔大小选择

求一个用JAVA写的最简单的画图工具;能画直线就行,其他不需要。

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.awt.geom.Line2D; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JPanel; class LinePanel extends JPanel{ private static final long serialVersionUID = 1L; private Vector lines = new Vector ();//存储画板上所有的直线 private Line2D line = new Line2D.Double() ; private Line2D cur = new Line2D.Double() ;//起点到当前光标的直线 public LinePanel(){ super(); this.setBackground(new Color(255,255,255)); } public void setLines(Vector lines){ this.lines = lines; } public void setCur(Line2D cur){ this.cur =cur; } @Override public void paint(Graphics g){ super.paint(g); Graphics2D g2d = (Graphics2D) g; for(Line2D l2d:lines){ line = l2d; g2d.draw(line); } if(cur!=null){ g2d.draw(cur); } } } public class DrawLine extends JFrame{ private static final long serialVersionUID = 1L; private LinePanel panel; private Vector lines; private Point start; public DrawLine(){ panel= new LinePanel(); lines = new Vector(); this.setBounds(100, 200, 400, 400); this.setLayout(new BorderLayout()); this.add(panel,BorderLayout.CENTER); this.setPanelListener(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } private void setPanelListener() { panel.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { start = new Point(e.getX(),e.getY()); } @Override public void mouseReleased(MouseEvent e) { Line2D line = new Line2D.Double(start.x,start.y,e.getX(),e.getY()); lines.add(line); panel.setLines(lines); line = null; } }); panel.addMouseMotionListener(new MouseMotionAdapter(){ @Override public void mouseDragged(MouseEvent e) { panel.setCur(new Line2D.Double(start.x,start.y,e.getX(),e.getY())); panel.repaint(); } }); } public static void main(String[] args) { new DrawLine(); } }

急求一个java绘图小程序

写一个panel,里面重载一个ponent()方法,在里面用 public void paint(Graphics g){ Graphics2D g2 = (Graphics2D)g g2.draw... 具体什么的就查api吧...主要是写着麻烦。





java写的画图板保存图片是怎么实现的

首先是得到图片的保存路径, 然后截取图片的路径。



然后再用文件的输入输出流。



把文件读入数级组中。



再它其写到指定的文件夹中。



这样就实现了文件的保存…… 祝你早日成功!

buyvm迈阿密机房VPS国内首发测评,高性能平台:AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps带宽不限流量

buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...

RAKsmart 年中活动 独立服务器限时$30秒杀 VPS主机低至$1.99

RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...

GreenCloudVPS$20/年多国机房可选,1核@Ryzen 3950x/1GB内存/30GB NVMe/10Gbps端口月流量2TB

GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...

java画图板为你推荐
深圳公交车路线深圳公交车路线查询吴晓波频道买粉五大知识付费平台有哪些?今日热点怎么删除怎样删除实时热点镜像文件是什么什么是文件镜像?什么是镜像文件?安卓应用平台有没有什么安卓游戏都能找到的应用商店或者游戏中心直播加速请问哪种播放器的可以播放加速,并且可以保存mate8价格手机华为mat8售价多少bt封杀现在是全面封杀BT下载了吗?现在都找不到BT下载影片了云挂机趣头条后台云挂机辅助后台云挂机辅助有谁用过?想了解实际情况。blogcnblogcn网页无法正常显示,直接跳转http://www.7t7t.com/7?
山东vps linuxapache虚拟主机 三级域名网站 免费顶级域名 greengeeks nerd 私有云存储 建站代码 美国独立日 智能dns解析 smtp服务器地址 qq金券 阿里云手机官网 apnic 免费网站加速 免费服务器 在线tracert iptables let wordpress安装 更多