`
wuanjunbaiqi
  • 浏览: 14021 次
  • 性别: Icon_minigender_1
  • 来自: 赤峰
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于重绘总结报告

 
阅读更多
总结重绘
重回的思路:1.定义存储图形的类
2.定义自定义队列 private ArrayList<Graph> njl=new ArrayList<Graph>() ;//必须得到新的类
3.画图形的时候图形的信息存储到自定义队列中
4.paint方法中得到自定义队列对象,取出队列中的数据进行重绘。
重绘是基于在切换界面时在画布对象上所画的图形会丢失,需要保存所画的数据。在保存数据时我们需要用到队列,因为队列是自己一个一个叠加上去的,不需要定义一个固定的数组。
重绘的思路:1:我们必须有一个保存信息的类:一般用Graph,在这个类中存有我们所画图形的基本信息,图形的横纵坐标,图形的颜色,图形的形状,运用构造器将图形信息传入,而后获得每个信息的get方法。
2:自定义一个队列,在定义队列时有两个方法:
   方法1:泛型NetJavaList的使用,关于泛型的使用以及泛型的代码在总结泛型时详细介绍。
   方法2:先定义一接口类型NJlist,而后在使用一个类来继承接口。队列使用时初始值为0,
3:将所画图形数据存储到自定义队列中,在监听器中实现,在画每个图形时每个图形的数据都用自定义队列来保存,在监听器内首先创建一个自定义队列,而后返回自定义队列(不返回怎么调用啊!)一般的代码如下:
private NetJavaList<Graph> njl = new NetJavaList<Graph>();(获得自定义队列)
public NetJavaList<Graph> getNJL() (返回自定义队列对象)
return njl;
}
保存图形信息时的代码:
Graph graph = new Graph(draw.getColor(), "曲线", x1, y1, x2, y2);*
***关键是要记住:一定要按顺序来,颜色,图形,坐标
njl.add(graph);
4:重写画板的paint方法:一般方法为:1:首先要调用父类的方法super.paint(g),2:然后得到监听器中的自定义队列对象NetJavaList<Graph> njl=lt.getNJL();。在得到自定义队列对象时要注意:lt是已经定义为private DraListener lt,千万不可以在创建对象时在定义(我就犯了这个错误,花了三四个小时找错,悲剧啊)。3:遍历数组进行重绘。附录:重写代码。
                     public void paint (Graphics g){
System.out.println("打印");
//super表示要调用父类的方法
super.paint(g);
//得到DrawListener类中的自定义队列对象
NetJavaList<Graph> njl=lt.getNJL();
//遍历队列中的所有数组进行重绘
for (int i=0;i<njl.size();i++){
//获取队列中的Graph对象
Graph graph =(Graph)njl.get(i);
//设置画布的颜色
g.setColor(graph.getColor());
//开始绘制曲线
if(graph.getItem().equals("曲线")){
//绘制去线
g.drawLine(graph.getX1(), graph.getY1(), graph.getX2(), graph.getY2());
System.out.println("打印");
}
}

分享到:
评论

相关推荐

    ListCtrl列表框重绘

    总结来说,ListCtrl列表框的重绘涉及到自定义项绘制、背景绘制、Owner Draw特性和图像列表的使用。掌握这些技术,可以帮助你打造出独特且功能丰富的用户界面。在实践中,不断试验和优化,你就能创造出符合项目需求的...

    MFC编程实验个人总结报告.docx

    本实验报告主要总结了MFC中的几个关键概念和技术,包括计时器的使用、结构体的别名、窗口重绘机制以及图形绘制。 1. **计时器的使用**:在MFC中,`SetTimer`函数被封装在`CWnd`类中,允许开发者创建一个计时器。其...

    辅导员工作总结报告范本

    本报告总结了辅导员在一个学期的工作内容和成效,涵盖了以下几个方面: 1. 制度建设与基础管理 报告中首先强调了辅导员在制度建设方面的作用。辅导员需要在学期初制定详细的工作计划和课程表,明确各自职责,确保...

    ClistCtrl自绘

    3. 设置自绘标志:在CListCtrl对象创建后,需要调用SetRedraw(false)阻止控件的自动重绘,然后设置LVS_OWNERDRAWFIXED或LVS_OWNERDRAWVARIABLE风格,最后调用SetRedraw(true)恢复自动重绘。 四、自定义控件开发 ...

    计算机地质绘图实习报告作业二.pdf

    【计算机地质绘图实习报告作业二.pdf】是一个关于利用Grapher软件进行地质绘图的实验报告,主要关注的是生油岩有机质成烃演化的曲线绘制。这个过程对理解地质学中的石油生成过程以及油气勘探有重要价值。下面将详细...

    土木工程测量实习总结报告.pdf

    总结来说,土木工程测量实习是学生掌握测量原理、提升实践技能的重要实践,通过这样的实习,学生不仅能增强专业技能,还能培养团队精神、独立工作能力和面对困难的解决问题能力,为未来职业生涯打下坚实基础。

    土木工程测量实习总结报告.docx

    【土木工程测量实习总结】 土木工程测量实习是一门至关重要的课程,旨在将理论知识与实际操作相结合,提升学生在工程领域的实践能力。在实习过程中,学生通过实地操作,学习并掌握DJ-6经纬仪的基本操作技巧,进一步...

    zedgraph 绘图demo

    - **重绘图表**:应用新的ZoomState,图表会自动更新,只显示选定区域的数据。 4. **从右至左缩回初始状况**: - **还原ZoomState**:当用户从右向左拖动时,可以触发恢复原始视图的操作。这通常涉及将ZoomState...

    可视化实验报告

    风车的旋转可能通过定时器和重绘机制实现。 8. **颜色和形状**:实验中提到风车叶片有三种颜色(红、黄、蓝),这需要设置画刷颜色。叶片的外接圆可能是用`Ellipse`函数画出的。 9. **实验报告结构**:实验报告...

    TeeChart 绘图

    假设我们有一个实时数据流,可以通过在循环中不断添加新的数据点到Series中,然后调用`Invalidate()`方法使图表重绘: ```cpp // 假设dataX和dataY是实时更新的数据 for (int i = 0; i ; i++) { m_pChart-&gt;Series...

    C#实验报告通过实验熟悉和掌握.NET画图的方法和步骤

    为了实现连续滚动的效果,可以设置定时器控件,每隔一定时间间隔自动触发更新坐标和重绘的逻辑,而不是仅依赖键盘事件。这样,即使不手动操作,方块也能自动滚动,形成更流畅的动画。 通过这个实验,学生不仅可以...

    手绘风格 (38).pptx

    它以其独特的视觉效果和个性化表达,为商务报告、学术演讲或创意展示增添了独特的魅力。下面我们将详细介绍如何创建一个手绘风格的PPT,包括内容规划、设计元素、色彩搭配以及排版技巧。 一、内容规划 1. **目录**...

    专题三实验报告1

    - 解决思路:对于CAD问题,报告指出通过定义结构体来记录图形的位置和类型,以便于擦除和重绘操作。使用了擦除前一个图形,再画新一个图形的策略,并利用InBox()函数判断鼠标是否在图形内,DrawRectangle()函数用于...

    计算机图形学 实验报告

    - **winReshapeFcn()**: 窗口重绘时的回调函数。 - **init()**: 初始化OpenGL状态。 - **主函数** ```cpp int main(int argc, char** argv) { cout ; // 输入代码省略 } ``` 主函数中接收用户输入,选择...

    1_绘图桌椅.docx

    根据给定文件中的信息,我们可以总结出以下关于“磁性耐划绘图桌”与“升降绘图凳”的详细IT知识点: ### 一、磁性耐划绘图桌 #### 桌体结构特点 - **全钢结构**:绘图桌整体采用全钢结构设计,保证了桌子的稳固性...

    精品资料(2021-2022年收藏)中南大学JAVA课程设计报告.docx

    1. DrawSe.java:主界面类,负责创建和展示GUI,以及实现重绘功能。 2. Mouse.java:处理鼠标事件,包括鼠标点击和移动。 3. Shape.java:图形类,用于存储图形信息并实现图形操作。 三、功能及说明 1. DrawSe.java...

    mfc指针式时钟(代码+报告)

    4. **窗口消息处理**:MFC的框架会处理各种窗口消息,如WM_PAINT用于窗口重绘,WM_TIMER用于处理定时器事件。这些消息可能在CWinApp或CWnd的派生类的OnPaint和OnTimer成员函数中处理。 5. **用户交互**:尽管这是一...

    MFC时钟及报告(vc6.0)

    在定时器回调函数中,我们需要获取系统时间,然后根据时间计算指针的角度,再利用OnPaint事件重绘时钟面,画出时针、分针和秒针。 4. 绘图技术:MFC提供了CDC类,可以用来进行设备上下文操作,如绘制线条、圆弧等。...

    R语言绘图-散点图教程

    R语言是一种主要用于统计分析、图形表示和报告的编程语言和软件环境。它是基于S语言的一种语言,由Ross Ihaka和Robert Gentleman在1993年开发。R语言提供了一种强大的工具用于处理数据,它有着广泛的统计分析功能,...

    大学生宣传部的述职报告.doc

    【描述】: 该文档是一份关于大学生宣传部工作情况的总结报告,涵盖了工作成果、存在的问题以及个人的成长。 【知识点】: 1. **常规工作**: 宣传部的主要任务是完成布置的工作,包括制作海报和管理黑板报,以有效...

Global site tag (gtag.js) - Google Analytics