- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章——绘制股市K线图 主讲教师:张群哲 8.1 项目设计需求 【项目基本介绍】 本项目要求利用单支股票交易数据自动绘制出对应的K线图。 股票K线图介绍: K线又称蜡烛图、日本线、阴阳线、棒线等,目前广泛的应用于股票,期货,外汇,期权等证券市场。 股票K线图画法: 以交易时间为横坐标,价格为纵坐标将每日的K线连续绘出即成K线图。 如果柱体表示的时间段内的收盘价高于开盘价,即股价上涨,则将柱体画为红色,反之则画为绿色。 5日均线:就是每天按以往5日的收盘价的平均值画一个点,这些点的连线 【项目设计需求】 本项目设计的是证券网页,通过输入股票代码来获得该支股票的K线图,以交易时间为横坐标,价格为纵坐标,用股票每日的开盘价、最高价、最低价、收盘价及成交量等数据进行作图,配合五日、十日均线便可反映出一个阶段内该支股票的涨跌走势。 鼠标移动时显示对应日期的相关数据,鼠标拖动可调整日期窗口。 网页还带有背景音乐,以提高用户的浏览乐趣。 8.2 项目设计分析 【项目技术要点】 1.Applet绘图及多媒体应用 主要用于页面显示和刷新,“蜡烛图”和均线的绘制,背景音乐的播放等。相关技术主要包括Applet生命周期及相关方法,绘制矩形和曲线,调整颜色,播放音乐等。 2.多线程的使用 主要用于绘制十字游标,相关技术主要包括线程的生命周期和实现方法。 3.布局管理器及界面设计 主要用于主显示界面的设计,相关技术主要包括布局管理器和控件的设计与应用。 4.数据输入、输出流的应用 主要用于读取股票数据来绘制K线图,相关技术主要包括从文件读取数据,经过分离处理和数据转换,从而获得所需数据。 5.设置、监听鼠标与键盘事件 主要用于对输入股票号码、移动鼠标、拖动鼠标等事件做出相应的处理,相关技术主要包括事件处理机制、事件监听器接口、抽象适配器等。 【项目基本结构】 本项目采用Java Applet设计 主类StockApplet继承Applet类,通过实现Runnable和ActionListener接口来获得多线程和键盘响应。 内部类Mouse_Drag 和Mouse_Moved分别通过扩展鼠标事件处理抽象适配器,从而实现对鼠标拖动和移动事件的处理。 【技术难点分析】 1、使用多线程 要绘制窗体及代表股票升降的阴线、阳线矩形 要监听鼠标事件并同时绘制一个自由移动的“十字”游标,来定位显示所检索股票每日的各种价格数值(如开盘价、收盘价等) 为了避免闪烁和减少重新计算的等待时间,除了重绘跟随鼠标移动的“十字”游标外,对页面的布局及阴线、阳线矩形等不进行重绘 (1)关于多线程的一些基本概念 public class StockApplet extends java.applet.Applet implements Runnable (2)多线程的应用 首先,在Applet的init()方法中对要创建的线程(M_pointThread)进行定义及初始化: 然后,在Applet的start()和stop()方法中加入代码: 【技术难点分析】 (3)编写线程运行的代码 public void run() //运行线程,绘制“十字”游标 { Graphics M_graphics; M_graphics=getGraphics(); M_graphics.setXORMode(Color.white);//此图形上下文的当前颜色和新的指定颜色之间交替,采用异或方法绘制“十字”游标 while(isContinue) //线程循环 { try { if(Mouse_Move==true) //侦测到鼠标的移动后,执行以下代码 {//当鼠标位于以下区域(Java Applet布局)内时,执行画线操作 //擦除上次所绘“十字”游标 if(x0 50 x0 600){M_graphics.drawLine(x0,30,x0,380);} if(y0 30 y0 380){M_graphics.drawLine(50,y0,600,y0);} //绘新游标 if(X 50 X 600){M_graphics.drawLine(X,30,X,380);} if(Y 30 Y 380){M_graphics.drawLine(50,Y,600,Y);} Mouse_Move=false; x0=X; //传递当前座标参数
您可能关注的文档
- Java Web设计实用教程——基于Eclipse环境的应用开发 孔昊 chap2 Eclipse的集成开发环境新.ppt
- Java Web设计实用教程——基于Eclipse环境的应用开发 孔昊 chap3 Eclipse中搭建Web开发环境新.ppt
- Java Web设计实用教程——基于Eclipse环境的应用开发 孔昊 chap4 Eclipse中开发Web项目新.ppt
- Java Web设计实用教程——基于Eclipse环境的应用开发 孔昊 chap6 Struts实现MVC设计新.ppt
- Java Web设计实用教程——基于Eclipse环境的应用开发 孔昊 chap7 Hibernate实现数据持久化新.ppt
- Java Web应用开发技术 任文娟 第1章 Java Web应用概述新.ppt
- Java Web应用开发技术 任文娟 第2章 Servlet技术新.ppt
- Java Web应用开发技术 任文娟 第4章 Java Web编程中数据库技术的使用新.ppt
- Java Web应用开发技术 任文娟 第5章 MVC架构模式新.ppt
- Java Web应用开发技术与案例教程 张继军 第1章_Java_Web应用开发技术新.ppt
- Java程序设计与实训 黄能耿 java-01新.ppt
- Java程序设计与实训 黄能耿 java-03-1新.ppt
- Java程序设计与实训 黄能耿 java-03-3新.ppt
- Java程序设计与实训 黄能耿 java-04-1新.ppt
- Java程序设计与实训 黄能耿 java-04-2新.ppt
- Java程序设计与实训 黄能耿 java-05新.ppt
- Java程序设计与实训 黄能耿 java-06新.ppt
- Java程序设计与实训 黄能耿 java-08新.ppt
- Java程序设计与应用开发 孙燮华 第3章 数组与字符串新.ppt
- Java程序设计与应用开发 孙燮华 第6章 布局管理器新.ppt
文档评论(0)