java日历课程设计报告

java日历课程设计报告
java日历课程设计报告

软件学院

课程设计报告书

课程名称面向对象课程设计

设计题目

专业班级

学号

姓名

指导教师

年 1 月

1 设计时间

2 设计目的

Java课程设计是对所学面向对象课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对理论课中所学习到的知识综合运用,实现有一定规模的Java应用。

3设计任务

设计一个java日历,要求用java编写简单日历,只需要输入年、月就可打印出对应月的日历。要求有简单的用户界面。

4 设计内容

4.1该程序中引用的包:

import java.awt.*;

import java.awt.event.*;

import java.util.*;

4.2 详细解释类的具体作用和类中方法实现的基本方法

4.2.1创造CalenderCreator类,此类继承来自Frame类,为了实现窗体。具体代码如下:

public class CalenderCreator extends Frame

{

Button days[]=new Button[49];

Choice Month=new Choice();

Choice Year=new Choice();

Label lmonth=new Label("MONTH");//添加“month”控件

Label lyear=new Label("Year");//添加控件

Label ltext=new Label("YEAR UPTO");//添加控件

Panel p1,p2;

GregorianCalendar gc=new GregorianCalendar();

int totdays;

TextField textfield=new TextField(2);

4.2.2定义CalenderCreator()构造函数,对于布局进行初始化操作,同时声明用于存放数据的文本域。并设置它的尺寸。具体代码如下:

public CalenderCreator()

{

setTitle("日历");//设置窗体的标题

setSize(400,400);//设置窗体的大小

setResizable(false);

setLocation(50,50);

p1=new Panel(new FlowLayout());

p2=new Panel(new GridLayout(7,7,10,10));

4.2.3接着对页面进行实例化并设置背景颜色。具体代码如下:

p1.setBackground(Color.green);

p2.setBackground(Color.pink);

add(p1,BorderLayout.NORTH);

add(p2);

p1.add(ltext);

p1.add(textfield);

p1.add(lmonth);

p1.add(Month);

4.2.4界面需要填写月份、年份、星期的信息,然后创建下拉列表的按钮的界面。具体代码如下:

Month.add("一月");

Month.add("二月");

Month.add("三月");

Month.add("四月");

Month.add("五月");

Month.add("六月");

Month.add("七月");

Month.add("八月");

Month.add("九月");

Month.add("十月");

Month.add("十一");

Month.add("十二");

Month.addItemListener(new myLis(this));

// int i1=myAction.newyear; //

// System.out.println("iiiiiiiiii is :::::::"+i1); //

textfield.addActionListener(new myAction(this)); //

p1.add(lyear);

p1.add(Year);//给“年份”下拉菜单添加选项

Year.add("2012");

Year.add("2013");

Year.add("2014");

Year.add("2015");

Year.add("2016");

Year.add("2017");

Year.addItemListener(new myLis(this));

for(int i=0;i<49;i++)

{

days[i]=new Button("");

}

for(int c=0;c<49;c++)

{

p2.add(days[c]);

}

setVisible(true);

}

void setYear(String mynewyear)

{

int h=Integer.parseInt(mynewyear);

for(int adder=2013;adder<=h;adder++) {

Year.add(""+adder);

}

}

void setButtons(int myday,int mytotdays) {

int count=7;

days[0].setLabel("星期一");

days[1].setLabel("星期二");

days[2].setLabel("星期三");

days[3].setLabel("星期四");

days[4].setLabel("星期五");

days[5].setLabel("星期六");

days[6].setLabel("星期日");

if ( myday>0)

{

int blank= myday;

for( ;blank>0;blank--,count++)

{

days[count].setLabel("");

}

}

for(int i=1;i<=mytotdays; i++,count++)

{

days[count].setLabel(""+i);

}

for(int j = 1;count < 49; j++,count++)

{

days[count].setLabel("");

}

}

void setVal(Date date,int iday,int iselMonth,int iselYear)

{

gc.setTime(date);

if(iselMonth==0 || iselMonth==2 || iselMonth==4 || iselMonth==6 || iselMonth== 7 ||iselMonth==9 || iselMonth==11)

{

totdays=31;

setButtons(iday,totdays);

}

if(iselMonth==3 || iselMonth==5 || iselMonth==8 || iselMonth==10)

{

totdays=30;

setButtons(iday,totdays);

}

if(gc.isLeapYear(iselYear) && iselMonth==1)

{

totdays=29;

setButtons(iday,totdays);

}

if( !gc.isLeapYear(iselYear) && iselMonth==1)

{

totdays=28;

setButtons(iday,totdays);

}

}

4.2.5定义main()函数。在此函数,先创建一个带有标题的CalenderCreato 对象。具体代码如下:

static public void main(String args[])

{

CalenderCreator c=new CalenderCreator();

}

}

class myLis implements ItemListener

{

CalenderCreator calLis;

public myLis(CalenderCreator c)

{

calLis=c;

}

public void itemStateChanged(ItemEvent i)

{

int selMonth=calLis.Month.getSelectedIndex();

int selYear1=Integer.parseInt(calLis.Year.getSelectedItem());

int selYear = selYear1- 1900;

Date d1 = new Date(selYear,selMonth,1);

int day = d1.getDay();

calLis.setVal(d1,day,selMonth,selYear);

}

}

class myAction implements ActionListener

{

CalenderCreator calAc;

int newyear;

public myAction(CalenderCreator ca

{

calAc=ca;

}

//为“关闭”按钮添加监听事件,当“关闭”按钮被点击时就执行这里的部分public void actionPerformed(ActionEvent e)

{

String s=calAc.textfield.getText();

// newyear=Integer.parseInt(s);

System.out.println("Year upto::::::::"+s);

calAc.setYear(s);

TextField tf = (TextField)e.getSource();

tf.removeActionListener(this);

}

}

4.3用图片辅助认识程序的具体操作和执行

图4-1:月份和年份的效果图图4-2:星期的效果图

图4-3:日期的效果图

图4-4:日历整体效果图

4.4附注完整程序设计

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class CalenderCreator extends Frame

{

Button days[]=new Button[49];

Choice Month=new Choice();

Choice Year=new Choice();

Label lmonth=new Label("MONTH");

Label lyear=new Label("Year");

Label ltext=new Label("YEAR UPTO");

Panel p1,p2;

GregorianCalendar gc=new GregorianCalendar();

int totdays;

TextField textfield=new TextField(2);

public CalenderCreator()

{

setTitle("日历");

setSize(400,400);

setResizable(false);

setLocation(50,50);

p1=new Panel(new FlowLayout());

p2=new Panel(new GridLayout(7,7,10,10));

p1.setBackground(Color.green);

p2.setBackground(Color.pink);

add(p1,BorderLayout.NORTH);

add(p2);

p1.add(ltext);

p1.add(textfield);

p1.add(lmonth);

p1.add(Month);

Month.add("一月");

Month.add("二月");

Month.add("三月");

Month.add("四月");

Month.add("五月");

Month.add("六月");

Month.add("七月");

Month.add("八月");

Month.add("九月");

Month.add("十月");

Month.add("十一");

Month.add("十二");

Month.addItemListener(new myLis(this));

// int i1=myAction.newyear; //

// System.out.println("iiiiiiiiii is :::::::"+i1); // textfield.addActionListener(new myAction(this)); // p1.add(lyear);

p1.add(Year);

Year.add("2012");

Year.add("2013");

Year.add("2014");

Year.add("2015");

Year.add("2016");

Year.add("2017");

Year.addItemListener(new myLis(this));

for(int i=0;i<49;i++)

{

days[i]=new Button("");

}

for(int c=0;c<49;c++)

{

p2.add(days[c]);

}

setVisible(true);

}

void setYear(String mynewyear)

{

int h=Integer.parseInt(mynewyear);

for(int adder=2013;adder<=h;adder++)

{

Year.add(""+adder);

}

}

void setButtons(int myday,int mytotdays)

{

int count=7;

days[0].setLabel("星期一");

days[1].setLabel("星期二");

days[2].setLabel("星期三");

days[3].setLabel("星期四");

days[4].setLabel("星期五");

days[5].setLabel("星期六");

days[6].setLabel("星期日");

if ( myday>0)

{

int blank= myday;

for( ;blank>0;blank--,count++)

{

days[count].setLabel("");

}

}

for(int i=1;i<=mytotdays; i++,count++)

{

days[count].setLabel(""+i);

}

for(int j = 1;count < 49; j++,count++)

{

days[count].setLabel("");

}

}

void setVal(Date date,int iday,int iselMonth,int iselYear)

{

gc.setTime(date);

if(iselMonth==0 || iselMonth==2 || iselMonth==4 || iselMonth==6 || iselMonth== 7 ||iselMonth==9 || iselMonth==11)

{

totdays=31;

setButtons(iday,totdays);

}

if(iselMonth==3 || iselMonth==5 || iselMonth==8 || iselMonth==10) {

totdays=30;

setButtons(iday,totdays);

}

if(gc.isLeapYear(iselYear) && iselMonth==1)

{

totdays=29;

setButtons(iday,totdays);

}

if( !gc.isLeapYear(iselYear) && iselMonth==1)

{

totdays=28;

setButtons(iday,totdays);

}

}

static public void main(String args[])

{

CalenderCreator c=new CalenderCreator();

}

}

class myLis implements ItemListener

{

CalenderCreator calLis;

public myLis(CalenderCreator c)

{

calLis=c;

}

public void itemStateChanged(ItemEvent i)

{

int selMonth=calLis.Month.getSelectedIndex();

int selYear1=Integer.parseInt(calLis.Year.getSelectedItem());

int selYear = selYear1- 1900;

Date d1 = new Date(selYear,selMonth,1);

int day = d1.getDay();

calLis.setVal(d1,day,selMonth,selYear);

}

}

class myAction implements ActionListener

{

CalenderCreator calAc;

int newyear;

public myAction(CalenderCreator ca)

{

calAc=ca;

}

public void actionPerformed(ActionEvent e)

{

String s=calAc.textfield.getText();

// newyear=Integer.parseInt(s);

System.out.println("Year upto::::::::"+s);

calAc.setYear(s);

TextField tf = (TextField)e.getSource();

tf.removeActionListener(this);

}

}

5 总结与展望

本次课程设计我做的日历的设计。主要考虑到我对JAVA课程基础内容掌握并不是很扎实,而设计一个日历程序,对于我的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。

对于本程序的设计,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用哪些知识点,如相关的类和对象等。最后,就是根据初步设计的功能和布局构架,用源代码进行实现。

经过了长时间的反复编写调试,课本和网上查阅相关资料相关文章,终于完成了整个课程设计。在这个过程中,在把书本上的知识给系统的复习了一下,同时也发现了自己的太多不足,对JAVA语言整体知识构架不够熟悉,不能灵活地运用所学的知识点。自己的编程方式也不是太标准,经常出现代码写错而调试很久错误的情况出现。

通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度。虽然这个程序编译成功了,但是这个过程很坎坷。更多的细节都体现出我对编写程序的不熟练性,在以后的学习中要加强动手能力,多实践。这样才能从各个方面来提高自己的水平。

参考文献

[1] JAVA6程序设计实践教程/刘万军等编著。清华大学出版社,2009.5

[2] JAVA基础与案例开发详解。清华大学出版社

[3]Java程序设计/高晓黎,刘博主编,清华大学出版社

[4] Java教程/郑阿奇,电子工业出版社,2009-9-1

成绩评定

成绩教师签字

数电EDA课程设计电子日历

燕山大学 EDA课程设计报告书 电子日历 姓名:王斌 班级:05级电子信息工程3班 学号:050104020064 日期:2007/11/05——2007/11/14 一、设计题目:电子日历 二、设计要求:

1.能显示年,月,日,星期; 2.例如: 01.11.08. 6,星期日显示8; 3.年月日,星期可调; 4.不考虑闰年 三.设计思路: 为实现本电路得功能,采取模块电路设计方法,本电路系统主要包括以下三三大模块:. 1: 电子日历记数模块 2: 中间控制模块 3: 译码器显示模块 由于不同的月份,决定了不同的天数,因此须设计反馈电路,协调月日的关系,通过不同的月选择相应的天数:比如二月二十八天,十二月三十一天,……..这是利用真值表列出逻辑表达式,从而画出电路图如图1: 仿真图如下: 四、设计过程: 一、电子日历记数模块 1、实现星期计时: 为实现星期计时模块,计到星期日时,显示“8”,采用一般的计数器难以实现,

即可通过四个jk触发器设计而成。其电路图如下: 仿真图如下: 2、实现天数计时: 由于不同的月份,决定了不同的天数,因此须设计三个独立完成计数的计数器电路,如日计数器周期性的(28,30或31)向月计数器进位调月日的关系,即通过三个选择端(c28,c30,c31),同一时刻只能有一个有效,由其中的任一个有效端来控制相应日计数器。其电路原理图

3、实现月份及年份计时: 由用两个74160采用整体同步置数分别构成100进制和12进制计数器,分别完成年,月的计数功能。然后将两者依次异步连接,每隔12个月,月计数器向年计数器进一位,从而实现年月的周期性计数。 月份计数器电路原理图如下: 年份计数器电路图如下:

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

心得体会数据库VB课程设计心得体会

三一文库(https://www.360docs.net/doc/8317367196.html,)/心得体会范文/心得体会数据库VB课程设计心得体会 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇*,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹 并期望与大家共勉。 首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学https://www.360docs.net/doc/8317367196.html,),我接触到microsoft公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如

使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sqlserverxx,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。 通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。 来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

java课程设计策画日历记事本

课程设计说明书 课程: Java程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日

《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计

Vb课程设计-学生成绩处理

学生成绩处理设计报告 一、设计思路 1.要达到的目的 学习VB程序设计的方法,充分体会VB在程序设计方面的强大功能和特点,培养运用VB解决实际问题的能力。通过本次课程设计,使学生进一步巩固课堂上学到的知识,能利用VB中的基本控件和数组编写一个小的应用软件—学生成绩处理。 2.关键问题的解决 ①设计程序界面 ②选取ProgressBar 控件 ③添加TXT文件 二、模块之间的调用关系,或程序流程图 三、部分程序关键源代码及注释 Dim data(100, 3) As String Dim num As Integer Private Sub Command1_Click(Index As Integer) Close #1 Select Case Index Case 0 Open "d:\成绩.txt" For Append As #1 Dim flag As Boolean For i = 0 To 3 If Text1(i) = "" Then MsgBox "请确认学号,姓名,分数都已输入", vbOKOnly, "提示" flag = True

Next If Not flag Then Write #1, Text1(0).Text; Text1(1).Text; Val(Text1(2).Text); Val(Text1(3).Text) MsgBox "添加成功" End If Case 1 Picture1.Cls Dim StrLine As String, a() As String Dim x As Integer, b As Integer Open "D:\成绩.txt" For Input As #1 i = 0 Do While Not EOF(1) Line Input #1, StrLine If StrLine <> "" Then a() = Split(StrLine, ",") For j = 0 To 3 data(i, j) = a(j) Next End If i = i + 1 Loop num = i For x = 0 To num For j = 0 To 3 Picture1.Print data(x, j) + " "; Next Picture1.Print Next Case 2 Picture2.Cls Open "d:\成绩.txt" For Input As #1 While Not EOF(1) Line Input #1, StrLine ss = ss + StrLine + vbCrLf Wend Picture2.Print ss End Select Close #1 End Sub Private Sub Form_Load() Open "D:\成绩.txt" For Append As #1

中南大学JAVA实验报告

中南大学 《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 调试报告........................................................................................ 心得体会.................................................................................................

Java日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JAVA源文件:、、、、和 效果图如下 . CalendarWindow类 import .*; import .*; import .*; import .*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad;

JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord; JButton getPicture; File dir; Color backColor= ; public CalendarWindow(){ dir=new File("./dailyRecord"); (); showDay=new JTextField[42]; for(int i=0;i<;i++){ showDay[i]=new JTextField(); showDay[i].setBackground(backColor); showDay[i].setLayout(new GridLayout(3,3)); showDay[i].addMouseListener(this); showDay[i].addFocusListener(this); } calendarMessage=new CalendarMessage(); calendarPad=new CalendarPad(); notePad=new NotePad(); Calendar calendar=(); (new Date()); year=; month=+1; day=; (year); (month); (day); (calendarMessage); (showDay); (year,month,day); (); doMark(); calendarImage=new CalendarImage(); (new File("")); clock=new Clock(); JSplitPane splitV1=new JSplitPane,calendarPad,calendarImage); JSplitPane splitV2=new JSplitPane,notePad,clock); JSplitPane splitH=new JSplitPane,splitV1,splitV2);

java课程设计 万年历 源代码

华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

VB图书管理系统 课程设计报告

VB语言程序设计课程设计报告 系 (部) 专业班级 学生姓名 学号/序号 指导教师 完成时间

图书管理系统 一、功能描述 使用VB6.0中各种控件的常用属性和事件、数组的各种操作以及数据库的相关操作(数据库的建立、编辑、查找、删除等),建立了这个简易的图书管理系统,方便图书管理人员对图书的管理。用户可以通过此系统的添加、删除,还回,借出等功能对书籍信息、书籍流通进行编辑同时也可以通过直接输入想要查询的书籍信息来获得书籍的流通及库存等相关信息。 二、概要设计 1、系统功能模块框图设计 首先程序运行,出现一个MDI主窗体,里面分别有登录,书籍信息管理系统,退出三个菜单选项,登录前,管理按钮不可用,当正确输入用户名以及密码以后,点管理按钮,图书管理窗体显示,用户可对图书信息进行管理。 2、数据库设计 创建一个数据库为mydb.mdb,该数据库共包含3张表,分别为“书籍信息表”、“图书归还表”和“图书借出表”,表结构如下:

书籍信息表:图书编号、图书名、作者、出版社、数量、出版日期、价格 图1. 书籍信息表 图书归还表:图书编号、图书名、作者、出版社、数量、图书是否损坏、借出日期、归还日期; 图2. 图书归还表 图书借出表:图书编号、图书名、作者、出版社、借出数量、借出时间、联系电话、借出期限、借出者姓名。 图3. 图书借出表

三、详细设计 1、MDI主界面 用户登录模块中登录与取消两按钮,单击登录会进入系统进行下一步的操作,用户名文本框与数据库相连接,当在用户名文本框输入用户名后点击登录按钮后,会在数据库中进行查询看数据库中是否会有该用户名,且该用户名的密码是否与密码框中输入的相同,如果相同会进入系统,如果不存在该用户名或密码与用户名不相匹配,则会提示“密码错误”,用户名文本框会得到焦点,让重新输入。 (1)窗体截图(如图5.1) 图1 MDI主界面

Java课程设计实验报告

Java课程设计实验报告 导语:日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。以下是小编为大家整理分享的Java课程设计实验报告,欢迎阅读参考。 1、加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2、使用本学期学习的Java SE技术完成多功能日历GUI 程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3、在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 1、问题描述准确、规范。 2、程序结构合理,调试数据准确、有代表性、。 3、界面布局整齐,人机交互方便。 4、输出结果正确。 5、正确撰写实验报告。 编写一个GUI程序实现日历的功能。一年日历用12页

显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农 历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报 时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 1、在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2、在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3、各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4、根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5、详细的上机实验步骤见任务分工及程序设计进度表。 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能

课程设计(数字日历钟表的设计)

课程设计说明书(论文) 课程名称:课程设计1 设计题目:数字日历钟表的设计 院系: 班级: 设计者: 学号: 设计时间:2013-6-19

哈尔滨工业大学 哈尔滨工业大学课程设计任务书 姓名:院(系): 专业:班号: 任务起至日期:2013 年 5 月日至2013 年 6 月19 日 课程设计题目:数字日历钟的设计 已知技术参数和设计要求: 1.数码管显示:秒、分、时(可同时显示,也可轮换显示) 2.能够设置时间,“设置按键”数量不限,以简单合理易用为好。 3.误差:1 秒/天(报告中要论述分析是否满足要求) 扩展(优秀必作) 1.设置校准键:当数字钟显示在“整点±30 秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了±30 秒的误差。 2.加上“星期”显示(可以预置),并可以对其进行设置。 其他要求: 1.按动员老师的要求、课程设计报告规范进行设计 2.不允许使用时数字钟表、日历专用IC 电路。 3.可以使用通用器件:模拟、数字、单片机、EPLD、模块电路等。 4.设计方法不限。

工作量: 1. 查找资料 2. 设计论证方案 3. 具体各个电路选择、元器件选择和数值计算 4. 具体说明各部分电路图的工作原理 5. 绘制电路原理图 6. 绘制印刷电路图 7. 元器件列表 8. 编写调试操作 9. 打印论文 工作计划安排: 1. 查阅资料: 2. 方案论证 3. 设计、分析、计算、模拟调试、仿真、设计原理 4. 撰写报告:课程设计要求、方案论证、原理论述(原理框图、原理图)、分析、计算、仿真, PCB 图的设计,误差分析、总结,参考文献等 5. 上交课程设计论文2013-6-19 同组设计者及分工:

VB程序设计课程设计报告完整版

V B程序设计课程设计 报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

《VB程序设计》 课程设计报告(2016 — 2017 学年第 1 学期) 题目:排序演示 学院:经济与管理学院 班级:物流管理1502 学号: 姓名: 指导教师:阮冰 时间:起 2017年1月3日止 1月6日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制 剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同 时填写并完成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计 中完全未参与的将作不及格处理。 五、考核方式

电子万年历课程设计

烟台南山学院单片机课程设计题目电子万年历 姓名: 所在学院:烟台南山学院 所学专业:自动化 班级: 学号: 指导教师: 完成时间:

摘要 单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,日期,调整时间,日期,从而到达学习、设计、开发软、硬件的能力。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本设计由单片机AT89C51芯片和LED数码管为核心,运用DS1302时钟芯片,辅以必要的电路,构成了一个单片机电子时钟。

1 绪论 (1) 2 总体方案设计与论证 (2) 2.1数字时钟方案 (2) 2.2显示方案 (3) 3 硬件系统的方案设计 (4) 3.1 系统框图 (4) 3.2 单片机的选择 (4) 3.3 时钟电路DS1302 (7) 3.4 时钟电路及复位电路 (9) 3.5 驱动电路 (9) 3.6 显示电路 (10) 3.7 按键接口 (11) 4 软件系统设计 (12) 4.1 时间信息获取程序 (12) 4.2 显示程序 (12) 5 系统调试 (13) 5.1 系统调试 (13) 5.2 时钟显示 (13) 5.3 DS1302的调试 (13) 5.4 按键电路调试 (13) 6 总结 (14) 参考文献 (15) 附录:系统程序 (16)

java日历制作源代码

import java.util.Scanner; public class rili{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入年份,并回车:"); int year=in.nextInt(); System.out.println("请输入月份,并回车:"); int month=in.nextInt(); int sum=0; for(int i=1900;i

-vb点菜系统-课程设计报告书

基于VB6.0饭店点菜系统设计 单位分院(系) 专业 学号 学生姓名 指导教师 完成日期 2011年 8 月 31日

摘要 进行点菜是饭店为顾客服务的重要环节之一。传统的点菜环节由于是手工操作,工作量大且容易出错。随着计算机和网络技术的迅速发展,越来越多的饭店、酒店都拥有自己的点菜系统,制作一个方便、快捷的点菜系统能使点菜环节显得更加美观且便于操作。 饭店点菜系统技术基础是VB6.0,它有许多优点,例如:“编写一次、随处运行”的特性、方便存取数据的数据库, 使用者只需在窗体上进行操作而不用关心程序代码等等。饭店点菜系统提供给顾客一个用来满足高可用性、高可靠性以及可扩展性的应用需求的软件,给饭店点菜提供了良好的机制、使饭店的工作流程更加顺利。 本文基于VB6.0,采用多窗体结构,设计并实现了顾客在饭店消费时的点菜、结账、抽奖、留言及工作人员管理等多项功能。 本文首先介绍了软件设计涉及的相关技术,围绕VB6.0的相关技术进行软件的解释。其次,介绍了饭店点菜系统的总体分析与设计,包括需求分析、功能模块分析和数据库设计。最后,对于主要功能进行了实现,并作了详细描述,主要采用图片与代码结合的方式详细地叙述了系统功能的实现。 关键词:文件、数据库、控件使用、图片载入

目录 1.选题的意义................................................... 2.系统功能分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 2.1系统概述。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 2.2系统的组成及各模块的功能 ........................................... 2 .3系统运行环境。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3.系统设计 ................................................... 3.1总体结构设计....................................................... 3.2数据库设计......................................................... 4.系统实现 ................................................... 4.1点菜系统的设计与实现 ............................................... 4.2管理系统模块的设计与实现 ........................................... 5.总结....................................................... 5.1总结................................................................ 5.2致谢词 ............................................................. 5.3存在的主要问题...................................................... 参考文献......................................................

JAVA编写日历实训心得

班级:**** 姓名:*** 学号:****10010127 java实验报告 实验7 日历 一、实验目的 1. 掌握swt 的容器概念及使用方法。 2. 掌握swt 中的工具栏与菜单的使用方法。 3. 掌握swt 中的表格组件的使用。 4. 掌握swt 各种对话框的使用方法。 二、实验内容:简单日历系统的设计与实现。 三、实验步骤:1. 简单日历系统的设计与实现 1) 创建java 类。在“包资源管理器”中用鼠标右击项目“practical”,选择快捷菜单中“新建”→“visual class”;在打开的“new java visual class ”窗口中,“源文件夹”的默认值是项目的文件夹,不需要更改,“包”栏中输入程序包的名称“ch7”。“名称”栏中输入类名“su”,在“style ”列表框中选择“swt”→“shell”,选中“public static void main(string[] args) ”复选框,使之自动创建一个main 方法,单击“完成”按钮,一个含有gui 程序界面以及代码的编辑器窗口被打开。2) 添加组件。用鼠标右键单击gui 程序界面的任何位置,在快捷菜单中选择“set layout”→“filllayout”。在“palette”面板中用鼠标单击“swt containers ”中的“viewform”,在程序界面sshell 中添加viewform 容器viewform 。从pallete 工具栏中依次单击组件:toolbar 和table ,在viewform 容器添加一个工具栏toolbar 和一个表格table ,并在工具栏toolbar 中添加4 个工具栏按钮toolitem~toolitem3;在表格中添加7 个表列tablecolumn~tablecolumn6 。更改4 个工具栏按钮的text 属性分别为“上一年”、“上个月”、“下个月”和“下一年”;更改7 个表列的text 属性分别为“日”~“六”,如图下所示。 (3)注意声明类的成员变量:calendar now=calendar.getinstance(); int year; int month; 4) 为类“su”编写自定义的“重置”方法。在编辑器中编写代码如下:public class su { private shell sshell = null; // @jve:decl-index=0:visual-constraint=138,42 private viewform viewform = null; private toolbar toolbar = null; private table table = null; private calendar now=calendar.getinstance(); int year; int month; private void createviewform() {viewform = new viewform(sshell, swt.none); createtoolbar(); viewform.settopleft(toolbar); table = new table(viewform, swt.none); table.setheadervisible(true); table.setfont(new font(display.getdefault(), tahoma, 10, swt.normal)); table.setlinesvisible(true); tablecolumn tablecolumn = new tablecolumn(table, swt.center); tablecolumn.setwidth(60); tablecolumn.settext(日); tablecolumn tablecolumn1 = new tablecolumn(table, swt.center); tablecolumn1.setwidth(60); tablecolumn1.settext(一); tablecolumn tablecolumn2 = new tablecolumn(table, swt.center); tablecolumn2.setwidth(60); tablecolumn2.settext(二); tablecolumn tablecolumn3 = new tablecolumn(table, swt.center); tablecolumn3.setwidth(60); tablecolumn3.settext(三); tablecolumn tablecolumn4 = new tablecolumn(table, swt.center); tablecolumn4.setwidth(60); tablecolumn4.settext(四); tablecolumn tablecolumn5 = new tablecolumn(table, swt.center); tablecolumn5.setwidth(60); tablecolumn5.settext(五); tablecolumn tablecolumn6 = new tablecolumn(table, swt.center); tablecolumn6.setwidth(60); tablecolumn6.settext(六); viewform.setcontent(table);} private void remove(calendar now){ int y; int year = now.get(calendar.year); int month=now.get(calendar.month)+1;case

相关文档
最新文档