Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图

上传人:E**** 文档编号:89156200 上传时间:2019-05-19 格式:PPT 页数:13 大小:367.51KB
返回 下载 相关 举报
Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图_第1页
第1页 / 共13页
Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图_第2页
第2页 / 共13页
Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图_第3页
第3页 / 共13页
Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图_第4页
第4页 / 共13页
Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图》由会员分享,可在线阅读,更多相关《Java程序设计项目教程 教学课件 ppt 作者 张群哲 课件 第8章绘制股市K线图(13页珍藏版)》请在金锄头文库上搜索。

1、第8章绘制股市K线图,主讲教师:张群哲,81 项目设计需求,【项目基本介绍】 本项目要求利用单支股票交易数据自动绘制出对应的K线图。 股票K线图介绍: K线又称蜡烛图、日本线、阴阳线、棒线等,目前广泛的应用于股票,期货,外汇,期权等证券市场。 股票K线图画法: 以交易时间为横坐标,价格为纵坐标将每日的K线连续绘出即成K线图。 如果柱体表示的时间段内的收盘价高于开盘价,即股价上涨,则将柱体画为红色,反之则画为绿色。 5日均线:就是每天按以往5日的收盘价的平均值画一个点,这些点的连线,【项目设计需求】,本项目设计的是证券网页,通过输入股票代码来获得该支股票的K线图,以交易时间为横坐标,价格为纵坐标

2、,用股票每日的开盘价、最高价、最低价、收盘价及成交量等数据进行作图,配合五日、十日均线便可反映出一个阶段内该支股票的涨跌走势。 鼠标移动时显示对应日期的相关数据,鼠标拖动可调整日期窗口。 网页还带有背景音乐,以提高用户的浏览乐趣。,82 项目设计分析,【项目技术要点】 1Applet绘图及多媒体应用 主要用于页面显示和刷新,“蜡烛图”和均线的绘制,背景音乐的播放等。相关技术主要包括Applet生命周期及相关方法,绘制矩形和曲线,调整颜色,播放音乐等。 2多线程的使用 主要用于绘制十字游标,相关技术主要包括线程的生命周期和实现方法。 3布局管理器及界面设计 主要用于主显示界面的设计,相关技术主要

3、包括布局管理器和控件的设计与应用。 4数据输入、输出流的应用 主要用于读取股票数据来绘制K线图,相关技术主要包括从文件读取数据,经过分离处理和数据转换,从而获得所需数据。 5设置、监听鼠标与键盘事件 主要用于对输入股票号码、移动鼠标、拖动鼠标等事件做出相应的处理,相关技术主要包括事件处理机制、事件监听器接口、抽象适配器等。,【项目基本结构】,本项目采用Java Applet设计 主类StockApplet继承Applet类,通过实现Runnable和ActionListener接口来获得多线程和键盘响应。 内部类Mouse_Drag 和Mouse_Moved分别通过扩展鼠标事件处理抽象适配器,

4、从而实现对鼠标拖动和移动事件的处理。,【技术难点分析】,1、使用多线程 要绘制窗体及代表股票升降的阴线、阳线矩形 要监听鼠标事件并同时绘制一个自由移动的“十字”游标,来定位显示所检索股票每日的各种价格数值(如开盘价、收盘价等) 为了避免闪烁和减少重新计算的等待时间,除了重绘跟随鼠标移动的“十字”游标外,对页面的布局及阴线、阳线矩形等不进行重绘 (1)关于多线程的一些基本概念 public class StockApplet extends java.applet.Applet implements Runnable (2)多线程的应用 首先,在Applet的init()方法中对要创建的线程(M

5、_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) /侦测到鼠标的移动后,执行以下代码 /

6、当鼠标位于以下区域(Java Applet布局)内时,执行画线操作 /擦除上次所绘“十字”游标 if(x0 50 /线程结束,释放资源 ,2布局管理器,本例中的Java Applet运行时,要在页面上Java Applet的运行区域内绘制相应的“标签”来显示不同的数值,并要加入一个“文本框”来接收输入的股票代码。 对这些“标签”和“文本框”位置及大小的设定,便属于布局管理的应用范畴。 本例中使用的便是“无布局管理器”。 在使用“无布局管理器”时,首先要作出声明,即: setLayout(null); 然后用setBounds()方法指定组件的具体位置和尺寸,3输入、输出数据流,Java App

7、let在客户端浏览器上运行时,要从服务器端读取股票的相关数据进行做图,这就涉及到Java数据流的运用。 先在服务器端把股票数据写入一文本文件中(其格式为:第一行为股票的汉字名称,以后每一行内包括:开盘日期、开盘价、最高价、最低价、收盘价、成交量,同一行的各数据之间用空格分开),并以该支股票的代码作为文件名(如:600001.txt) 然后,再用Java Applet从服务器端的文本文件中读取数据。这样,就把对服务器端数据库的访问转化为对文件的I/O操作 URL urlc=new URL (地址,文件名); /打开数据流 BufferedReader bis=new BufferedReader

8、(new InputStreamReader(urlc.openStream(); 通过循环依次读取各行,并通过查找空格的位置实现数据之间的分离。语句如下: Piont_Num=content.indexOf(“ “,piont); /查找空格位置 Content_Date=content.substring(1,Piont_Num); /取出日期字符串,4监听键盘及鼠标事件,通过ActionListener来响应Java Applet小程序运行时所发生的键入文本事件(输入股票代码) 通过扩展抽象适配器类来实现对鼠标事件的响应 /页面Applet实现 ActionListener接口 public class StockApplet extends Applet implements Runnable,ActionListener /定义私有类,扩展抽象适配器类MouseAdapter,处理鼠标拖动事件 private class Mouse_Drag extends MouseAdapter/处理鼠标拖动时画面变化 所有的事件监听必须在相应对象上进行注册,如 text1.addActionListener(this),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号