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

张家界简单的网站建设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/567770/

相关文章:

  • 太原公司网站开发如何在淘宝上接单网站建设
  • 企业网站如何提高怎么推广我做的网站
  • 网站后台更新文章 前台不显示数据库做网站和做软件有什么不一样
  • 深圳网站建设服务比较便宜网站建设遵循原则
  • 提供企业门户网站建设百度账号出售平台
  • 做网站编写代码网页设计网站建设流程
  • 广西住房和城乡建设网站视频专栏wordpress各个页面名称标签
  • 建设银行招聘官网网站wordpress目录分站
  • 青海网站推广策划方案口碑好的盘锦网站建设
  • 聚思博新网站建设wordpress主题哪个好看
  • 怎么看自己网站的空间企业品牌网站源码
  • mvc 门户网站开发框架网站开发和程序开发
  • 网站推广工作计划怎样做科普视频网站
  • 网站建设中企动力最佳a4我要做电商怎么做
  • 地方网站发展温州网站公司哪家好
  • 国内做的比较好的网站是什么六兄弟做网站
  • 建网站需要费用wordpress远程本地化
  • 特产网站建设规划书西安优秀的集团门户网站建设企业
  • 产品商城网站建设网站开发技术网站
  • 电子商务网站建设工具重庆世界500强企业
  • asp 通过ftp 网站搬家wordpress建站 博客
  • 徐州cms建站系统wordpress漂亮手机网站模板下载
  • 网站默认首页个人做的网站百度搜索不到
  • 定制头像的网站网站域名备案证书下载
  • 一级门户网站建设费用重庆网站制作公司
  • 网页设计网站设计欣赏网站上怎么做艳丽的色
  • php怎样做网站的注删页面宣传部网站建设策划书
  • 琼海做网站口碑长沙市模板网站
  • 网站如何生成静态多个图表统计的网站怎么做
  • 弹幕网站开发wordpress淘宝插件下载地址