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

网站注册域名后怎么做宁波58同城网

网站注册域名后怎么做,宁波58同城网,wordpress向登录页面跳转,wordpress 招商系统问题描述 至少提供自由绘画、直线、椭圆、矩形四种模式可插入文本背景色与前端颜色可选图形绘制可选择填充模式与非填充模式绘画的作品可进行保存与加载总体框架 主体框架即DrawBoard继承自JFrame,上设: 2个JPanel(menu与tool,内含数个JButton);1个DrawPanel(继承自JPa…

问题描述

  • 至少提供自由绘画、直线、椭圆、矩形四种模式
  • 可插入文本
  • 背景色与前端颜色可选
  • 图形绘制可选择填充模式与非填充模式
  • 绘画的作品可进行保存与加载

总体框架

主体框架即DrawBoard继承自JFrame,上设:

  • 2个JPanel(menu与tool,内含数个JButton);
  • 1个DrawPanel(继承自JPanel),即画板主体;
  • 1个TextArea,在状态变更时显示相应信息。

效果如图:

Frame

  • 上方JPanel为菜单,可进行:

    • 打开/保存文件(序列化)
    • 选择前端颜色
    • 选择是否填充图形
    • 设置背景颜色
  • 左方JPanel为工具,可供用户在中央画板进行绘画,可选模式为:

    • 自由绘画
    • 直线
    • 椭圆
    • 矩形
  • 可在中央画布单击鼠标右键插入文本(下方TextArea有提醒)

实现思路

共7个类,如下图:

Class

  • Dshape与Dstr存储已生成的Shape与String;
  • DArray由两个ArrayList组成,还有一个Color记录背景色,类别分别为Dshape与Dstr,相当于存储器,是存储以及获取文件时序列化的对象;
  • MA继承自MouseAdapter,是DrawPanel最主要的一个监听器,4种绘画模式都要用到,即在鼠标按下时确定起点,释放时确定终点;
  • MMA继承自MouseMotionAdapter,是DrawPanel的另一个监听器,仅自由绘画模式会用到,即在鼠标拖动时记录划过的点作为上一条线段的终点及下一条线段的起点,多条线段做出自由绘画的感觉;
  • DrawPanel作为主体,记录当前的前端颜色、填充状态、图形类别,并通过重写paintComponent方法以绘制已记录的和正在绘制的图形;
  • MTLis继承自ActionListener,是DrawBoard的监听器,根据触发的按钮进行操作;
  • DrawBoard继承自JFrame,起框架作用。

源代码


import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.io.*;import java.util.ArrayList;
import javax.swing.*;class Dshape implements Serializable{private static final long serialVersionUID = 1L;Shape s;Color c;boolean f;//填充状态String m=new String();//绘画模式private void writeObject(java.io.ObjectOutputStream out) throws IOException{out.defaultWriteObject();}private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException{in.defaultReadObject();}
}
class Dstr implements Serializable{private static final long serialVersionUID = 1L;String s;Font f;Color c;int x,y;//坐标private void writeObject(java.io.ObjectOutputStream out) throws IOException{out.defaultWriteObject();}private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException{in.defaultReadObject();}
}
class DArray implements Serializable{private static final long serialVersionUID = 1L;ArrayList<Dshape> shapelist=new ArrayList<Dshape>();ArrayList<Dstr> strlist=new ArrayList<Dstr>();Color backColor;//背景色private void writeObject(java.io.ObjectOutputStream out) throws IOException{out.defaultWriteObject();}private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException{in.defaultReadObject();}
}class MA extends MouseAdapter{DrawPanel dp;MA(DrawPanel dp){super();this.dp=dp;}@Overridepublic void mousePressed(MouseEvent e){//鼠标按下if(dp.tempshape!=null) {dp.da.shapelist.add(dp.tempshape);}switch(dp.model)//据绘制模式对“当前绘制图形(tempshape)”进行初始化{case "Draw":case "Line":{dp.tempshape=new Dshape();Line2D l=new Line2D.Double();l.setLine(e.getX(), e.getY(), e.getX(), e.getY());dp.tempshape.c=dp.currColor;dp.tempshape.s=l;dp.tempshape.f=dp.fill;dp.tempshape.m="Line";break;}case "Ellipse":{dp.tempshape=new Dshape();Ellipse2D ep=new Ellipse2D.Double();ep.setFrame(e.getX(),<
http://www.yayakq.cn/news/593538/

相关文章:

  • 做网站的说3年3年包括什么公文写作网站
  • 网络公司做网站服务器查网站是不是用shopify做的
  • 欢迎访问中国建设银行网站个人客户网站开发费用算无形资产吗
  • 陕西启康建设有限公司网站阿里巴巴域名
  • 石家庄网站小程序珠海哪个公司建设网站好
  • 有什么做兼职的好的网站wordpress怎么引用single
  • 阿里巴巴官网下载安装vue做网站如何优化seo
  • 成品短视频网站源码搭建免费网站附件做外链
  • wordpress 安全扫描郴州seo服务
  • 徐州市建设监理协会网站app设计方案模板
  • 宁波网站的建设沈阳市城市建设学院官方网站
  • 郑州网站建设制作费用搜索引擎seo关键词优化方法
  • 受欢迎的购物网站建设最新汽车网站大全
  • 建设银行网站查询企业年金wordpress后台登录页
  • 厦门好的做网站公司企业网站设计哪个好
  • 做网站的公司面试wordpress修改首页文章样式
  • 新手建设html5网站响应式网站开发的理解
  • 泉州建行 网站深圳专业做网站开发费用
  • 影楼微网站建设外贸 网站设计
  • 漳州最便宜的网站建设价格做网站要懂什么编程
  • 那些网站可以做兼职网站域名在哪里
  • 两学一做网站进不去郴州网站建设找哪家公司
  • 用什么程序做网站好做铝材哪些网站招聘
  • 网站开发使用的语言有哪些wordpress wp content
  • 论坛推广网站1688网站怎么样
  • 专门做教育的视频网站苏州专业高端网站建设机构
  • 购物网站开发的业务需求分析临夏网站建设公司
  • 毕业设计做网站怎么样数字营销网站建设
  • 找钢网网站建设网络运营与维护
  • 凡科建站登录入口宁德网站设计