Java画图板程序设计报告(3)
6. saveFile():保存当前所绘制图形程序段。
7. createNewItem():新建一个基本图形单元程序段。
相应的内部类有:
1. ButtonHandler:用来处理基本图形单元的按钮事件。
2. ButtonHandler1:用来处理New、Open、Save三个操作按钮的按钮事件。 3. DrawPanel:用老创建绘图区域的子类。
4. MouseA:继承了MouseAdapter,用来完成鼠标相应事件的操作,如单击、松开、
进入和离开等。
5. MouseB:继承了MouseMotionAdapter,用来完成鼠标拖动和鼠标移动时的相应操
作。
4、系统测试
4.1 运行结果
1. 主界面框架 主界面类继承自JFrame类,包括构造函数及各种功能的定义,主要代码如下 :
import java.awt.*; import java.awt.geom.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*;
public class MiniDrawPad extends JFrame //主类,扩展了JFrame类,用来生成主界面 {
private ObjectInputStream input;
private ObjectOutputStream output; //定义输入输出流,用来调用和保存图像文件
private JButton choices[]; //按钮数组,存放以下名称的功能按钮
private String names[]={ \ \
\这三个是基本操作按钮,包括\新建\、\打开\、\保存\ \ \ \ \ \ \ \ \
//铅笔画,也就是用鼠标拖动着随意绘图 //绘制直线 //绘制空心矩形
//绘制以指定颜色填充的实心矩形 //绘制空心椭圆
//绘制以指定颜色填充的实心椭圆 //绘制圆形
//绘制以指定颜色填充的实心圆形
11 / 31
\//绘制空心圆角矩形 \ \ \ \ 变化
\ };
private String styleNames[]={
\宋体 \, \隶书 \, \华文彩云 \, \仿宋_GB2312 \, \华文行楷 \, \方正舒体 \\ }; //可供选择的字体项
private Icon items[];
private String tipText[]={
//这里是鼠标移动到相应按钮上面上停留时给出的提示说明条 \ \ \ \
\ \ \ \ \ \ \
\ \ \
\ \ \ };
JToolBar buttonPanel ;
//定义按钮面板
private JLabel statusBar; //显示鼠标状态的提示条
private DrawPanel drawingArea; //画图区域
private int width=800,height=550; //定义画图区域初始大小
12 / 31
//绘制以指定颜色填充的实心圆角矩形 //橡皮擦,可用来擦去已经绘制好的图案 //选择颜色按钮,可用来选择需要的颜色
//选择线条粗细的按钮,输入需要的数值可以实现绘图线条粗细的//输入文字按钮,可以在绘图板上实现文字输入
drawings[] itemList=new drawings[5000]; //用来存放基本图形的数组 private int currentChoice=3; //设置默认画图状态为随笔画 int index=0; //当前已经绘制的图形数目 private Color color=Color.black; //当前画笔颜色 int R,G,B; //用来存放当前色彩值
int f1,f2; //用来存放当前字体风格 String style1; //用来存放当前字体
private float stroke=1.0f; //设置画笔粗细,默认值为1.0f
JCheckBox bold,italic; //定义字体风格选择框
//bold为粗体,italic为斜体,二者可以同时使用 JComboBox styles;
public MiniDrawPad() //构造函数 {
super(\
JMenuBar bar=new JMenuBar(); //定义菜单条 JMenu fileMenu=new JMenu(\ fileMenu.setMnemonic('F');
2. 新建、保存、打开、退出菜单项 代码如下:
//新建文件菜单条
JMenuItem newItem=new JMenuItem(\ newItem.setMnemonic('N'); newItem.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
newFile(); } } );
fileMenu.add(newItem);
//保存文件菜单项
JMenuItem saveItem=new JMenuItem(\ saveItem.setMnemonic('S'); saveItem.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
saveFile(); }
//如果被触发,则调用保存文件函数段 //如果被触发,则调用新建文件函数段
13 / 31
} );
fileMenu.add(saveItem);
//打开文件菜单项
JMenuItem loadItem=new JMenuItem(\ loadItem.setMnemonic('L'); loadItem.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
loadFile(); } } );
fileMenu.add(loadItem);
fileMenu.addSeparator();
//退出菜单项
JMenuItem exitItem=new JMenuItem(\ exitItem.setMnemonic('X'); exitItem.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0); //如果被触发,则退出画图板程序 } } );
fileMenu.add(exitItem); bar.add(fileMenu);
//如果被触发,则调用打开文件函数段
3. 线条宽度、颜色、提示功能 代码如下:
//设置颜色菜单条
JMenu colorMenu=new JMenu(\ colorMenu.setMnemonic('C');
//选择颜色菜单项
JMenuItem colorItem=new JMenuItem(\ colorItem.setMnemonic('O'); colorItem.addActionListener( new ActionListener(){
14 / 31
public void actionPerformed(ActionEvent e) {
chooseColor(); //如果被触发,则调用选择颜色函数段 } } );
colorMenu.add(colorItem); …… 此处隐藏:2065字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




