当前位置: 首页 > news >正文

顺德品牌网站建设信息网络编程课程

顺德品牌网站建设信息,网络编程课程,wordpress 彩色标签云,c 网站开发数据库注释很详细#xff0c;直接上代码 上一篇 Look here~ 听我说完再继续看更容易理解#xff1a; 如果说用之前的绘图方法写一个绘画板你会怎么做#xff1f;重绘会让之前的内容消失呀#xff0c;用各种数据结构记录每个像素点的位置或颜色#xff1f;嘶#xff0c;感觉很麻… 注释很详细直接上代码 上一篇 Look here~ 听我说完再继续看更容易理解 如果说用之前的绘图方法写一个绘画板你会怎么做重绘会让之前的内容消失呀用各种数据结构记录每个像素点的位置或颜色嘶感觉很麻烦对吧。位图便解决了这个问题相当于给你一个图层进行绘画画完每一步都会实时显示在绘画区域这样就实现了像素点的记录。下面来实践一下~ 新增内容 1. 使用位图记录绘画痕迹 2. 继承Canvas类重写paint方法显示位图 3.鼠标移动响记录上次与当此位置进行连线化曲为直 4.处理鼠标左键刚按下时没有上一次坐标的情况 5.特判鼠标右键的菜单响应情况 package swing21_30;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage;public class swing_test_22 {private Frame frame new Frame(手绘程序);//定义画图区的宽高private static final int WIDTH 600;private static final int HEIGHT 600;//记录鼠标上一次拖动过程中的位置private int prex-1;private int prey-1;//定义一个右键菜单用于设置画笔的颜色private PopupMenu colorMenunew PopupMenu();private MenuItem redItemnew MenuItem(红色);private MenuItem greenItemnew MenuItem(绿色);private MenuItem blueItemnew MenuItem(蓝色);//定义一个变量记录当前画笔颜色private Color forceColorColor.BLACK;//创建一个BufferImage对象用于绘制图形private BufferedImage imagenew BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);//TYPE_INT_RGB表示使用RGB颜色模型//通过位图获取关联的Graphics对象Graphics gimage.getGraphics();//自定义一个类继承Canvas类重写paint方法class MyCanvas extends Canvas{Overridepublic void paint(Graphics g){g.drawImage(image,0,0,null);//绘制图片}}//创建一个画图区MyCanvas drawAreanew MyCanvas();public void init(){//组装视图//创建监听器ActionListener listenernew ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {//获取控件文本String actionCommande.getActionCommand();switch (actionCommand){case 红色:forceColorColor.RED;break;case 绿色:forceColorColor.GREEN;break;case 蓝色:forceColorColor.BLUE;break;}}};//注册监听器redItem.addActionListener(listener);greenItem.addActionListener(listener);blueItem.addActionListener(listener);//组装菜单colorMenu.add(redItem);colorMenu.add(greenItem);colorMenu.add(blueItem);//将菜单设置给绘图区域drawArea.add(colorMenu);//鼠标抬起响应drawArea.addMouseListener(new MouseAdapter() {Overridepublic void mouseReleased(MouseEvent e) {//特判触发右键菜单的情况boolean popupTriggerede.isPopupTrigger();if(popupTriggered){//显示右键菜单colorMenu.show(drawArea,e.getX(),e.getY());}//重置prex和prey的值prex-1;prey-1;}});//设置背景为白色g.setColor(Color.WHITE);g.fillRect(0,0,WIDTH,HEIGHT);//通过鼠标移动监听器drawArea.addMouseMotionListener(new MouseAdapter() {Overridepublic void mouseDragged(MouseEvent e) {//获取当前鼠标位置int xe.getX();int ye.getY();if(prex!-1prey!-1){g.setColor(forceColor);//根据鼠标拖动的距离绘制线条g.setColor(forceColor);g.drawLine(prex,prey,x,y);};//修正prex和prey的值prexe.getX();preye.getY();//因为在位图上完成了但是还未显示在绘图区这里需要刷新一下绘图区//刷新绘图区drawArea.repaint();}});//设置最佳大小drawArea.setPreferredSize(new Dimension(WIDTH,HEIGHT));frame.add(drawArea);//设置最佳大小且可见frame.pack();frame.setVisible(true);}public static void main(String[] args) {new swing_test_22().init();} }演示效果 右键显示颜色选项
http://www.pierceye.com/news/525929/

相关文章:

  • 网站制作的公司有哪些四川成都有什么好玩的
  • 网站做wanzhihou专门做课件的网站
  • 如何做app网站中国建筑第八工程局有限公司
  • 网站设计素材网站cpa个人网站怎么做
  • 做徽标的网站做软件去哪个网站
  • 网站初始开发的步骤自己做的网站有排名吗
  • 山东建设厅官方网站一级建造师有什么网站可以做代理的
  • 哪个网站公司做的好百科网站推广
  • 网站首页做很多个关键词做羊水亲子鉴定网站
  • 漳州 做网站东昌府区住房和城乡建设局网站
  • 网站前台首页无法显示济南市网站
  • c2c网站开发毕业设计东莞网站营销公司
  • 网站维护企业wordpress数字分页
  • 怎么判断一个网站做的好不好discuz 企业网站
  • 编程入门自学网站中国室内设计网站排名
  • 北京房山网站建设产品更新培训如何用手机编程游戏
  • 重庆城乡建设网站神马搜索seo优化排名
  • 北京响应式网站制作公司一个网站的建设流程有哪些资料
  • 专做淘宝的网站全部网站
  • 济南网站app开发的相册网站建设目的
  • 哈尔滨网站优化推广公司wordpress引用js插件
  • 网站优化软件排名器制作文字图片
  • 广州十大网站建设怎么做网站的301
  • 青岛网站运营推广移动端网站开发项目报告
  • 上海 培训网站建设现在最火的推广平台有哪些
  • 公司网站制作设计联系方式网站如何做ssl认证
  • 中国城乡住房和城乡建设部网站首页内江seo
  • 外贸经常用的网站深圳专业网站建设定制
  • 网站建设项目签约仪式举行注册网站不用手机短信验证的
  • 汕头建站模板源码网站如何做视频链接地址