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写的画图板保存图片是怎么实现的

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



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



把文件读入数级组中。



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



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

wordpress高级跨屏企业主题 wordpress绿色企业自适应主题

wordpress高级跨屏企业主题,通用响应式跨平台站点开发,自适应PC端+各移动端屏幕设备,高级可视化自定义设置模块+高效的企业站搜索优化。wordpress绿色企业自适应主题采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用浏览器应...

Dynadot COM特价新注册48元

想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...

RackNerd :美国大硬盘服务器促销/洛杉矶multacom数据中心/双路e5-2640v2/64G内存/256G SSD+160T SAS/$389/月

大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...

java画图板为你推荐
童之磊网文大学很强吗?iphone越狱后怎么恢复iPhone越狱后怎么恢复?xv播放器下载除了迅雷看看播放器还有什么播放器支持xv格式的视频?怎么点亮qq空间图标QQ空间图标怎么点亮?ejb开发什么是EJB?iphone6上市时间苹果6是什么时候出的 ?rewritebase如何使用WampServer2.0软件网站营运网络运营主要做些什么?微信怎么看聊天记录微信怎样查询聊天记录网站地图制作网站地图怎么做
长沙域名注册公司 个人注册域名 便宜vps 万网域名证书查询 过期域名抢注 dns是什么 美国主机论坛 网通代理服务器 cn3 宏讯 美国凤凰城 vul cxz 群英网络 闪讯网 xshell5注册码 什么是dns 天鹰抗ddos防火墙 web服务器安全配置 双宿主机防火墙 更多