中南大学《JAVA语言与系统设计》实验报告题目运用运用JavaFx画时钟运用JavaFx实现时钟动画学生姓名指导教师学院信息科学与工程学院专业班级完成时间目录第一章绪论...............................................................................................1.1实验背景...............................................................................................1.2实验意义..............................................................................................1.3JavaFX介绍......................................................................................... 第二章需求分析.....................................................................................2.1题目描述.............................................................................................2.1.1 实验一....................................................................................2.1.2 实验二....................................................................................2.2 概要设计...........................................................................................2.2.1 实验一....................................................................................2.2.2 实验二....................................................................................2.3 程序清单...........................................................................................2.3.1 实验一代码............................................................................2.3.2 实验二代码............................................................................ 第三章调试分析....................................................................................3.1 结果分析.........................................................................................3.1.1 实验一结果............................................................................3.1.2 实验二结果............................................................................3.2 调试报告........................................................................................ 心得体会.................................................................................................第一章绪论1.1 实验背景Java是计算机专业学生的一门专业课程,着重讲述Java这门程序设计语言的基本概念、语法和编程的技术方法。
对于学生从事Java的研发、使用和维护有重要意义。
本课程概念多、内容涉及面广、系统性强。
通过本课程的学习,学生应能从软件开发、设计等角度去了解、分析和研究Java语言,建立起对Java的全面认识,树立全面地、发展地看问题的观点,从而加深对各种类型Java系统的了解。
本实验是在学习了Java编程语言后,进行的巩固训练,有助于我们巩固基础知识和掌握编程技巧。
Java课程的学习应注重理论与实践相结合,因此实验教学是教学环节中必不可少的重要内容。
通过实验教学的学习,使学生熟练掌握有关Java编程的基本概念、基本原理和基本思想,掌握对Java进行设计、分析和计算的方法。
本次两个实验主要是让了解和掌握JavaFx基本概念和用法。
1.2 实验意义1)运用实验的方法设计和实现,既是对刚刚学过的Java编程技术课程的复习,又是一次实战演练,从而提高学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
2)通过整个程序的设计与实现进一步加深了对Java编程语言的理解,巩固学过的知识,为以后进一步的学习打下良好的基础。
1.3 JavaFX介绍JavaFX是由甲骨文公司推出的一系列的产品和技术。
JavaFx平台是一个富客户端平台解决方案,它能够使用应用程序开发人员轻松的创建跨平台的富客户端应用程序。
它构建在Java技术的基础之上,JavaFX平台提供了一组丰富的图形和媒体API与高性能硬件加速图形和媒体引擎,简化开发数据驱动的企业客户端应用程序。
JavaFx平台是一个构建于java技术基本上的并且容易创建和部署富客户端平台的跨平台的应用。
场景图JavaFX的场景图,显示在整体框架的最顶层,是整体JavaFX应用的起始点。
它是一个分层次的树状结构的结点来表示应用用户接口的可视化元素。
它即能处理输入也能渲染输出。
一个场景中单独的元素叫节点。
每一个节点都有一个ID,样式类和边界值。
除了根结点外,每一个节点都有一个父结点并且有0到多个子节点。
它还可以有如下属性:●效果,例如模糊和阴影●透明度●变换参数●事件处理(例如:鼠标、键盘和输入)●特定的应用状态跟swing和AWT不同的是,JavaFX场景图有布局、图像和媒体等还有例如矩形和文本等。
在大多数应用中,场景图中有很多容易使用的组件被使用。
javafx.scene API描述很多类型的组件,例如:●Nodes:包括Shapes (2-D and 3-D), images, media, embedded web browser,text, UI controls, charts, groups, and containers●State:Transforms (positioning and orientation of nodes), visualeffects, and other visual state of the content●Effects:Simple objects that change the appearance of scene graph nodes,such as blurs, shadows, and color adjustment●Java APIs for JavaFX FeaturesJavaFX 2有一套完整的公共API显示在最顶层。
这些API能使你非常灵活的创建RIA应用。
JavaFX平台结合了Java平台的最佳功能与综合,身临其境的媒体功能转化成一种直观的和全面的一站式的开发环境。
这些新的Java API特性包括:●允许使用强大的Java特性:例如泛型、注释、多线程等。
●方便Web开发人员使用JavaFX从其他流行的动态语言,例如JRuby,Groovy和JavaScript。
●允许Java开发人员使用其他系统语言,比如Groovy、为编写大型或复杂的JavaFX应用程序。
●允许使用绑定类似于JavaFX脚本语言。
这包括支持高性能Lazy绑定,绑定表达式,绑定序列表达式,以及局部绑定。
选择的语言(比如Groovy)可以使用此绑定库引入绑定语法类似于JavaFX脚本。
●扩展Java collections库来包括list和map等,根据集合内容的变化在界面上及时显示以监控其对象的变化。
第二章需求分析2.1 题目描述2.1.1 实验一基于JavaFx画出如下所示的时钟2.1.2 实验二基于JavaFx画出如下所示可动态变化的时钟。
要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。
时钟初始时显示当前时间并开始动态变化。
2.2 概要设计这两个程序需要用到线程,图形用户界面设计方面的事件监听器,框架,容器,组件等。
完成一个在屏幕中有一指针式钟面。
每个JavaFX程序都是通过继承javafx.application.Application来实现的Override start(Stage) 方法start方法通常的操作:1)将UI控件放入Scene中;2)在stage中显示Scene在main()函数中调用launch(args);函数,启动独立的JavaFx程序。
2.2.1 实验一1.利用构造函数创建一个长为,宽为200的窗体,填充颜色设置为white,并把窗体设计为固定大小,并且创建一个监听事件进行监听。
2.随即创建一个时间计数器,java使用Calendar类获得指定日期关于指定日期的获取,是根据指定日期和当前日期相差的天数,然后使用set法设置Calendar.DAY_OF_MONTH 的值。
不进行set ,默认是获取系统时间。
GregorianCalendar 是Calendar 的一个具体子类可由调用者通过调用setGregorianChange()来更改起始日期。