当前位置:文档之家› Java实现迷你小闹钟源代码

Java实现迷你小闹钟源代码

Java实现迷你小闹钟源代码
Java实现迷你小闹钟源代码

package pkg110;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

import javax.swing.Timer;

/**

*

* @author Administrator

*/

public class Clock extends JFrame implements ActionListener{ public final int HEIGTH = 200, L0 = 50, T0 = 50,N=8;

public final double RAD = Math.PI / 180.0;

int x, y, old_X, old_Y, r, x0, y0, w, h, ang;

int sdo, mdo, hdo, old_M, old_H, hh, mm, ss;

int delay = 1000;

Calendar now;

String st, alarm, Items1, Items2,str[];

JButton jb;

JComboBox jc1, jc2, jc3;

JLabel jl1, jl2, jl3, jl4;

JTextField jtf1, jtf2, time;

JPanel jp1, jp2, jp3;

Timer timer;

TimeZone tz = TimeZone.getTimeZone("JST");

Toolkit toolkit=Toolkit.getDefaultToolkit();

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

Clock cp = new Clock();

cp.setVisible(true);

}

Clock() {

super("闹钟");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setSize(400,550);

setVisible(true);

Container contentPane = getContentPane();

jp2 = new JPanel();

jl1 = new JLabel("闹铃时间");

jl1.setFont(new Font("楷体", Font.BOLD, 18));

time = new JTextField("00:00",10);

alarm = time.getText();

jb = new JButton("修改闹铃时间");

jb.addActionListener(this);

jb.setActionCommand("CC");

jp2.add(jl1);

jp2.add(time);

jp2.add(jb);

contentPane.add(jp2, BorderLayout.SOUTH);

ClockPanel clock = new ClockPanel();

contentPane.add(clock, BorderLayout.CENTER);

ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) {

repaint();

}

};

new Timer(delay, taskPerformer).start();

}

Color waiquan= Color.magenta;

Color bianxian= Color.black;

Color biaopan= Color.yellow;

Color juxing= Color.yellow;

Color miaozhen= Color.red;

Color fenzhen= Color.red;

Color shizhen= Color.red;

public class ClockPanel extends JPanel {

public void paint(Graphics g) {

h = getSize().height - 200;

g.setColor(waiquan);

g.fillOval(L0 + 30, T0 + 30, h - 60, h - 60);

g.setColor(bianxian);

g.drawOval(L0 + 31, T0 + 31, h - 62, h - 62);

g.setColor(biaopan);

g.fillOval(L0 + 50, T0 + 50, h - 100, h - 100);

g.setColor(bianxian);

g.drawOval(L0 + 51, T0 + 51, h - 102, h - 102);

r = h / 2 - 30;

x0 = 30 + r - 5 + L0;

y0 = 30 + r - 5 - T0;

ang = 60;

for (int i = 1; i <= 12; i++) {

x = (int) ((r - 10) * Math.cos(RAD * ang) + x0); y = (int) ((r - 10) * Math.sin(RAD * ang) + y0);

g.drawString("" + i, x, h - y);

ang -= 30;

}

x0 = 30 + r + L0;

y0 = 30 + r + T0;

now = Calendar.getInstance();

hh = now.get(Calendar.HOUR_OF_DAY);

mm = now.get(Calendar.MINUTE);

ss = now.get(Calendar.SECOND);

g.setColor(juxing);

g.fillRect(110,350, 150, 30);

g.setColor(fenzhen);

if (hh < 10)

st = "0" + hh;

else

st = "" + hh;

if (mm < 10)

st = st + ":0" + mm;

else

st = st + ":" + mm;

if(alarm.equals(st))

{

if(toolkit!=null)

toolkit.beep();

else {}

}

if (ss < 10)

st = st + ":0" + ss;

else

st = st + ":" + ss;

{

g.setFont(new Font("华文楷体", Font.BOLD, 16));

g.drawString("当前时间:" + st, 115,370);

}

sdo = 90 - ss * 6;

mdo = 90 - mm * 6;

hdo = 90 - hh * 30 - mm / 2;

if (old_X > 0) {

g.setColor(biaopan);

} else {

old_M = mdo;

old_H = hdo;

}

g.setColor(miaozhen);

x = (int) ((r - 26) * Math.cos(RAD * sdo) + x0);

y = (int) ((r - 26) * Math.sin(RAD * sdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x, (h - y));

old_X = x;

old_Y = y;

if (mdo != old_M) {

g.setColor(biaopan);

old_M = mdo;

}

if (hdo != old_H) {

g.setColor(biaopan);

old_H = hdo;

}

g.setColor(fenzhen);

x = (int) ((r - 45) * Math.cos(RAD * mdo) + x0);

y = (int) ((r - 45) * Math.sin(RAD * mdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x, (h - y));

g.setColor(shizhen);

x = (int) ((r - 70) * Math.cos(RAD * hdo) + x0);

y = (int) ((r - 70) * Math.sin(RAD * hdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x, (h - y));

}

}

// 闹铃时间的判断及实现

// 闹铃声音的实现

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand()=="CC") {

int newHou, newMin;

char c;

String getTime = JOptionPane.showInputDialog(this, "请输入闹铃时间格式如:", "00:00");

repaint();

if(getTime==null)

System.out.println(getTime);

judge: if (getTime != null) {

System.out.println(getTime);

if (getTime.length() != 5) {

JOptionPane.showMessageDialog(time, "格式错误\n请按格式输入5位数字", "Error",

JOptionPane.ERROR_MESSAGE);

repaint();

break judge;

}

for (int i = 0; i < (getTime.length()); i++) {

c = getTime.charAt(i);

if (i == 2 && !Character.isDigit(c))

continue;

if (i != 2 && !Character.isDigit(c)) {

JOptionPane.showMessageDialog(this, "格式错误\n请按格式输入5位数字", "Error",JOptionPane.ERROR_MESSAGE);

repaint();

break judge;

}

}

char[] hour = { getTime.charAt(0), getTime.charAt(1) };

char[] minute = { getTime.charAt(3), getTime.charAt(4) };

newHou = Integer.parseInt(String.valueOf(hour));

newMin = Integer.parseInt(String.valueOf(minute));

if (newHou >= 24 || newHou < 0) {

JOptionPane.showMessageDialog(this, "格式错误\n小时应该是不小于0不大于23的正数",

"Error", JOptionPane.ERROR_MESSAGE);

repaint();

break judge;

}

if (newMin >= 60 || newHou < 0) {

JOptionPane.showMessageDialog(this, "格式错误\n分钟应该是小于60的正数", "Error",

JOptionPane.ERROR_MESSAGE);

repaint();

break judge;

}

new SetTime(newHou, newMin);

}

}

toolkit=Toolkit.getDefaultToolkit();

}

class SetTime {

String Hour;

String Minute;

public SetTime() { }

public SetTime(int hour, int minute) {

if (hour < 10) {

Hour = "0" + String.valueOf(hour);

} else {

Hour = "" + String.valueOf(hour);

}

if (minute < 10) {

Minute = "0" + String.valueOf(minute);

} else {

Minute = "" + String.valueOf(minute);

}

alarm = Hour + ":" + Minute;

time.setText(alarm);

repaint();

}

}

}

用java编写的贪吃蛇游戏代码

用Java编写的贪吃蛇代码 下面是我用java编写的一个贪吃蛇游戏源代码.我个人是比较喜欢玩游戏的,所以学习编程二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩“贪吃蛇”,故想做出来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下...... 程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解释了:#include "time.h" //方向定义 const CPoint UP(CPoint(0,-1)); const CPoint DOWN(CPoint(0,1)); const CPoint LEFT(CPoint(-1,0)); const CPoint RIGHT(CPoint(1,0)); //速度快慢定义 const int HIGH = 75; const int NORMAL = 180; const int SLOW = 300; const int MAX = 80; //表示转向数 const int LENGTH = 10; class GameMsg { public: GameMsg(void) : m_icon(0)

{ InitGame(); } void InitGame(int up = VK_UP, int down = VK_DOWN, int left = VK_LEFT, int right = VK_RIGHT) { srand((unsigned)time(NULL)); m_gameSpeed = NORMAL; m_speedNum = 2; m_snakeNum = 4; for(int i=0; i

国内外Java学习论坛汇总

Java论坛汇总: 国内Java论坛: https://www.doczj.com/doc/283595591.html, -论坛人很多,高手也多,不过好像都在潜水 https://www.doczj.com/doc/283595591.html, -也很不错,文章很好,但是就是商业性浓了点。 https://www.doczj.com/doc/283595591.html,- 非常有系统性,而且推出的java远程教育是中国最全面的scjp远程教育。 https://www.doczj.com/doc/283595591.html, -灰狐动力,有个jfox,而且很多关于企业级应用的东西 https://www.doczj.com/doc/283595591.html, -Matrix技术,不少java文章和资源,论坛牛人多,人气略差。 https://www.doczj.com/doc/283595591.html, -java学习可下载资料不少,论坛人气也一般。 https://www.doczj.com/doc/283595591.html, -很多好文章,而且有出书。 https://www.doczj.com/doc/283595591.html, -很多java设计模式的资料。 https://www.doczj.com/doc/283595591.html, -很多资料和书籍下载,文摘也有不少,就是下载要扣分。 https://www.doczj.com/doc/283595591.html, -论坛不错,人气够旺,不过有时候老上不去。 https://www.doczj.com/doc/283595591.html, -还可以。我去的较少。 https://www.doczj.com/doc/283595591.html, -同上。 https://www.doczj.com/doc/283595591.html,/developerWorks/cn/index.shtml -ibm非常不错,里面的好文章层出不穷啊。 https://www.doczj.com/doc/283595591.html, -赛迪还算比较有特色,原创很多。 https://www.doczj.com/doc/283595591.html, -zdnet也不错哦,精彩。 水木清华java版-很多大牛,真的很多,呵呵。 https://www.doczj.com/doc/283595591.html, -很多好文章,原创比较多。 国外Java论坛: https://www.doczj.com/doc/283595591.html, -不用多说吧。 https://www.doczj.com/doc/283595591.html, -apache很多开源项目,无论是拿来用还是看源代码都很不错 https://www.doczj.com/doc/283595591.html, -orielly的,java资源很多 https://www.doczj.com/doc/283595591.html,- 很多java文章和tips https://www.doczj.com/doc/283595591.html, -很多文章,还有论坛 https://www.doczj.com/doc/283595591.html, -关于应用的比较多,比如服务器

JAVA课程设计钟表(含代码)

Java程序课程设计 任务书 钟表的设计与开发 1、主要内容: 创建一个钟表。 借助swing类和接口内部类的实现,在本程序中以实现Runnable接口内部类的形式创建多线程对象。 Runnable接口只定义了一个run()方法,所以调用start和sleep()方法时,必须创建Thread实例化对象。Interrupt()方法的作用是中断线程。 其作用方式是:多线程对象.interrupt()。 2、具体要求(包括技术要求等): 系统的功能要求: 1.可以记录时间的钟表。 2.熟悉JAVA中swing的组件运用,基本工具的熟练掌握。 学习并掌握以下技术:Java等。 熟练使用以下开发工具:JCreator + JDK 1.6.0_02 等实现系统上述的功能。 3、进度安排: 12月28日~ 12月29日:课程设计选题,查找参考资料 12月29日~ 1月2日:完成程序代码的编写 1月2日~ 1月3日:系统测试与完善 1月4日~ 1月5日:完成课程设计报告,准备答辩 4、主要参考文献 [1]张帆.Java范例开发大全[M].北京:清华大学出版社,2010:0-831. [2]耿祥义,张跃平.Java大学实用教程[M].北京电子工业出版社,2008:213-216

摘要 随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。基于方便人们更好的掌握时间,我们小组设计出了这个小时钟。 本时钟是一个基于Java语言设计而成的一个小程序,目的是显示时间,并且能调准时钟。整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。 本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤,程序主要所用到的Swing组件以及graphics方法。 关键词:时钟,

Java贪吃蛇报告

J a v a贪吃蛇报告 Revised final draft November 26, 2020

《Java高级编程》课程报告 第xx小组:贪吃蛇游戏项目 小组成员及分工 一、实验环境 操作系统:Windows 7 编程环境:Eclipse、JDK 二、实验内容与完成情况 (主要介绍项目总体功能分析与说明。) 贪吃蛇小游戏的JAVA程序是利用上↑、下↓、左←、右→方向键来改变蛇的运动方向,按空键暂停游戏,按enter键重新开始。长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏。以不同的速度和不同方向吃到食物所获得的分数也不相同。 窗口功能说明:设计了三个窗口,分别是游戏主窗口,主菜单窗口,模式选择窗口。菜单栏分别为:游戏菜单(重新开始)和帮助菜单以及返回(返回主菜单)。其中,按返回菜单按钮后会显示主菜单,其包括游戏开始、设置、退出游戏三项按钮选择;如果按

“设置”按钮会进入“模式选择”窗口。而模式选择窗口菜单包括了初级、中级、高级、返回按钮。 1、功能1(主菜单窗口) (1)主菜单窗口主要是提供“游戏开始”、“设置”和“退出”按钮。“游戏开始”按钮按下后会进入“游戏主窗口”开始游戏;“设置”按钮是调用 “模式选择”窗口对游戏贪吃蛇的速度进行设置;“退出”按钮按下则会 直接退出游戏。 (2)功能1实现的流程图 实现的效果图如下: (3)功能1(主菜单窗口)代码: package Swing; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; public class setMenu extends JFrame { private int speed1 = 200; public static int speed = 200; // static int speed = 20; private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { setMenu frame = new setMenu(speed); frame.SsetMenu(frame); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); }

JAVA聊天程序的设计代码与报告

一.系统需求分析 网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。 在当今信息时代,越来越多的聊天工具被应用,java语言是当今流行的网络编程语言,它具有面向对象,与平台无关,安全,多线程等特点。使用java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备进行应用程序的开发。面向对象的开发是当今世界最流行的开发方法,它不仅具有更贴近自然地语义,而且有利于软件的维护和继承,锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力。 本程序正是用java语言实现了简单聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包等。 二.系统总体设计 1.对性能的规定 由于本软件知识一个聊天程序,程序只提供用户之间的聊天功能,故对网络传输数据要求不是很高,只要正常的传输速度就可以了。 2数据管理 IP地址(IP),端口(Port) 3.开发环境 本软件采用Java语言编写,Java语言是一种跨平台的编程语言,所以本软件对操作系统没有特别的要求。而网络传输方面采用TCP/IP网络传输协议或者是RMI。 4.设计概要 (1)本软件客户端与用户共用一段程序。客户端编译运行后,在窗口选择----侦听。用户编译运行后,在窗口选择----连接。 (2)本软件实现的功能有 1)允许服务器侦听客户端,客户端连接到服务器

2)允许服务区与客户端之间进行聊天; 3)允许服务器与客户端更改背景颜色; 4) 允许服务器与客户端更改字体颜色; 5)服务器与客户端时,会显示容发送时间; 6)允许服务器与客户端用鼠标点击“发送”,按ENTER键均可发送容7)允许服务器与客户端用鼠标点击关闭时关闭聊天窗口 三.系统详细设计 1.代码功能描述 (1)程序中引入的包: import java.awt.*; import java.awt.event.*; import javax.swing.*; import https://www.doczj.com/doc/283595591.html,.*; import java.io.*; (2)代码中自定义的类: 类名:chatHouse 继承的类:JFrame 实现的接口:ActionListener, Runnable 作用:构造服务器界面以及客户端界面。 定义的对象: TextArea ta; JTextField ip; JTextField port; JButton btn_server; JButton btn_client; JButton btn_backGroundCol; JButton btn_fontCol; JTextField send_text; JButton btn_send; JButton btn_close; JLabel pic; Socket skt; 构造方法:public chatHouse() 主要成员方法:public void run() public void actionPerformed(ActionEvent e) public void doServer() public void doSend()

Java实现电子时钟

项目效果图: 源代码: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.EventQueue; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JPanel; /* author: 蒋冰 */ public class MoveDraw extends JFrame{ private Draw draw = new Draw(); public static void main(String[] args){ EventQueue.invokeLater(new Runnable() { public void run() { try { MoveDraw frame = new MoveDraw(); frame.setVisible(true);

} catch (Exception e) { e.printStackTrace(); } } }); } public MoveDraw(){ super(); setTitle("动画"); setBounds(400,300,400,300); add(draw); Thread thread = new Thread(draw);// 创建线程对象 thread.start();// 启动线程对象 } class Draw extends JPanel implements Runnable{ Calendar calendar = new GregorianCalendar(); int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int year = calendar.get(Calendar.YEAR); int mouth = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); int week = calendar.get(Calendar.DAY_OF_WEEK); String date = year+"-"+mouth+"-"+day; String weeks[] = new String[]{"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; double theta = second * (2 * Math.PI)/60 ; double theta1 = (minute * (2 * Math.PI) + theta)/60; double theta2 = (hour*(2 * Math.PI) + theta1)/12; public void paint(Graphics g){ Graphics2D g2 = (Graphics2D) g; g2.clearRect(0, 0, 400, 300); g2.translate(draw.getWidth()/2, draw.getHeight()/2); g2.setColor(Color.blue); Font font = new Font("楷体",Font.ROMAN_BASELINE ,14); g2.setFont(font); g2.drawString(date, -25, 30); g2.drawString(weeks[week-1]+"", -15, 50); g2.setColor(Color.black); for(int i=1; i<=12; i++){ double theta = i*2*Math.PI/12;

超级玛丽详细设计文档

目录 1.导言 (2) 1.1编写目的 (2) 1.2项目范围 (2) 1.3参考资料 (2) 1.4缩写说明 (2) 1.5术语定义 (2) 2.功能需求 (3) 2.1界面设计技术 (3) 2.2游戏功能划分 (3) 2.3功能划分的架构图 (3) 2.4具体的功能模块 (4) 2.5功能描述 (4) 2.6程序的总体架构 (4) 2.7程序的三层结构图 (4) 3.面向对象设计 (5) 3.1主要类图 (5) 3.2各个模块的方法或类名类表示 (6) 3.3地图绘制中的坐标说明 (6) 4.程序的详细设计 (7) 4.1主要人物玛丽的实现 (7) 4.2核心类 (7)

1.导言 1.1编写目的 该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的整体框架的实现。其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。 1.2项目范围 该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在具体的代码设计中实现。 1.3参考资料 《java语言程序设计》清华大学出版社郎波编著 1.4缩写说明 UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。 1.5术语定义 MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。

java版贪吃蛇小游戏

辅助类 Coordinate.java 复制代码 package com.nn.util; /** *坐标点 */ public class Coordinate { public int x; public int y; public Coordinate(int newX, int newY) { x = newX; y = newY; } public boolean equals(Coordinate other) { if (x == other.x && y == other.y) { return true; }

return false; } @Override public String toString() { return "Coordinate: [" + x + "," + y + "]"; } } 复制代码 接口Direction 复制代码 package com.nn.entity; public interface Direction { public class Dir{ public static final int UP = 1; public static final int DOWN = 2; public static final int LEFT = 3;

public static final int RIGHT = 4; } } 复制代码 实体类Snake.java 复制代码 package com.nn.entity; import java.util.ArrayList; import com.nn.entity.Direction.Dir; import com.nn.util.Coordinate; public class Snake{ //小方块x坐标 private int x; //小方块y坐标

20个代码生成框架

20个代码生成框架 11.1 CodeSmith http: 官方论坛: http: 版权形式:30天试用 开源:否需要先注册确认后才能下载 1.2 MyGenerator MyGenerator是又一个国外很不错的代码生成工具,有人觉得比CodeSmith 简单、好用。 所有api可以在帮助菜单中找到。 http: 官方论坛: 版权形式: 免费 开源:否 1.3 NHibernate. http: 官方论坛: 版权形式:

免费 开源:否 1.4湛蓝.Net代码生成器 http: 官方论坛: http: 版权形式: 免费 开源:否 1.5动软.NET代码自动生成器 一款人气很旺的免费C#代码生成器 http: 官方论坛: 版权形式: 免费 开源:否 1.6 CodePlus 专为sql server c#语言设计的代码生成器,功能还是很强大http: 官方论坛:

版权形式: 需要少量的注册费用 开源:否下载地址很神秘 1.7 CodeMaker http: 官方论坛: 版权形式: 免费 开源:否 https://www.doczj.com/doc/283595591.html,代码生成器 可以使用本工具生成https://www.doczj.com/doc/283595591.html,和C#语言的代码,以及三层架构与ORM架构代码,并且使用的ORM持久化组件是开源的,您可以在本软件的安装目录下找到它 官方论坛: 版权形式: 免费 开源:否 1.9 BMW业务模型及代码生成器 一款人气很旺的免费C#代码生成器

官方论坛: 版权形式: 免费 开源:否 1.10飞鹰CoolCoder 专门为采用nhibernate做关系对象影射架构的系统提供代码的工具,简单易用,虽然不提供源码,我们可以用反编译工具对其反编译看源码。这是个很不错的学习机会。 官方论坛: 版权形式: 免费 开源:否 1.11 AutoCoder自动代码生成器 AutoCoder自动代码生成器是一个根据模板自动生成代码的代码生成工具,根据模板的不同,可以生成任何语言(如: ASP、C#、C++BUILDER、DELPHI、JAV A、JSP、PHP、V B、https://www.doczj.com/doc/283595591.html,……),不同层次结构(B/S、C/S、n-tiger……),基于不同数据库(ORACL E、MSSQL、MYSQL、

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.添加当日行事历,储存与清除功能

java贪吃蛇设计文档

姓名:XXXXXX 学号:XXXXXX

目录 1 引言 (5) 1.1 编写目的 (5) 1.2 项目背景 (5) 1.3 开发工具和语言 (6) 1.4 术语说明 (6) 1.4.1 数据结构 (6) 1.4.2 类 (6) 2 概要设计 (7) 2.1 目标 (7) 2.2 运行环境 (8) 2.3 总体设计 (8) 2.3.1 游戏设计思路 (8) 2.3.2 算法中的基本概念 (9) 2.3.3 游戏结构 (9) 2.3.4 游戏整体流程 (9) 3 数据结构设计 (10) 3.1 蛇、石头、食物的表示 (10) 3.2 蛇的移动 (10) 3.3 存储蛇身的数据结构 (11)

3.5 如何显示蛇身 (11) 3.6 蛇身的移动方向 (12) 3.7 吃到食物判定 (12) 4 类的设计 (12) 4.1 设计 (12) 4.1.1 GamePanel类 (12) 4.1.2 Snake类 (13) 4.1.3 Food类 (13) 4.1.4 Ground类 (13) 4.1.5 Controller类 (13) 4.1.6 Mouse类 (13) 4.2 通过事件监听建立联系 (13) 5 详细设计 (13) 5.1 controller包 (14) 5.1.1 Controller类 (14) 5.2 mouse包 (14) 5.2.1 Mouse类 (14) 5.3 entities包 (15)

5.3.2 Ground类 (15) 5.3.3 Snake类 (16) 5.4 game包 (17) 5.4.1 Game类 (17) 5.5 listener包 (17) 5.5.1 Snakelistener类 (17) 5.6 util包 (17) 5.6.1 Global类 (17) 5.7 view包 (17) 5.7.1 GamePanel类 (17) 5.8 sound包 (18) 5.8.1 Sound类 (18) 6 UI设计 (18)

《Java范例开发大全》

下面是377个Java的例子。如果你是牛人,看看你能做出多少? 如果有人不相信这些例子都是Java做的,可以看看清华大学的《Java范例开发大全》实例1开发第一个Java程序 实例2自动提升 实例3自动转换 实例4常用基础类型之强制转换 实例5算术运算符 实例6关系运算符 实例7逻辑运算符 实例8位运算符 实例9移位运算符 实例10转型运算符 实例11常量与变量 实例12各种进制的转换 实例13 Java中的进制与移位运算符 实例14判断输入的年份是否为闰年 实例15抽奖活动 实例16xx乘法表 实例17如何列出素数 实例18 Java中的递归 实例19男生女生各多少人

实例20求xx数 实例21求任意一个正数的阶乘 实例22求n的n次方 实例23利用for循环输出几何图形 实例24xx 实例25求1到100之间的和 实例26存上100元需要多少天 实例27输出100之间的所有偶数 实例28如何判断回文数字 实例29输出100之间的所有奇数 实例30求最大的随机数 实例31判断字母分类 实例32优良及差 实例33打印任意一年日历 实例34一年四季的划分 实例35除0发生的算术异常(ArithmeticException) 实例36数组下标越界异常(ArrayIndexOutOfBoundsException)实例37数组元素类型不匹配异常(ArrayStoreException) 实例38强制类型转换异常(ClassCastException) 实例39索引越界异常(IndexOutOfBoundsException) 实例40空指针异常(NullPointerException)

Java完整代码

Chapter01——初识Java 1.单词 公共的、公有的:public 静态的:static 主要的:main 打印:print 2.编写类名为HelloWorld的的程序框架 public class HelloWorld{} 3.编写main()方法的框架 public static void main(String[] args){} 4.编写代码输出HelloWorld后并换行 System.out.println(“HelloWorld”); Chapter02——变量、数据类型和运算符 1.单词 字符:character 布尔:boolean 扫描器:scanner 成绩:score 名字:name 2.写出本章节中学习过的五种数据类型 int、double、char、String、boolean 3.创建扫描器对象,并接收用户输入的年龄 Scanner input=new Scanner(System.in); System.out.print(“请输入年龄:”); int age=input.nextInt(); 4.目前有整型变量custNo,请分解出它的个位、十位、百位和千位

int gewei=custNo%10; int shiwei=custNo/10%10; int baiwei=custNo/100%10; int qianwei=custNo/1000; Chapter03——选择结构(一) 1.单词 如果:if 继续:continue 随机:random 数学:math 打断:break 2.如果张浩的Java成绩大于98分,那么老师奖励他一个MP4;否则老师罚他编码, 请补全以下代码: int score=91; if(score>98){ System.out.println(“奖励一个MP4”); }else{ System.out.println(“惩罚进行编码”); } 3.某人想买车,买什么车决定于此人在银行有多少存款。 如果此人的存款超过500万,则买凯迪拉克 否则,如果此人的存款超过100万,则买帕萨特 否则,如果此人的存款超过50万,则买伊兰特 否则。如果此人的存款超过10万,则买奥拓 否则此人买捷安特,请补全以下代码: int money=52; //我的存款,单位:万元 if(money>=500){ System.out.println(“买凯迪拉克”); }else if(money>=100){

超级玛丽Java课程设计

《面向对象程序设计》 课程设计报告 题目:超级玛丽软件的设计与实现 院(系):信息科学与工程学院 专业班级:计算机科学与技术1201班 学生姓名:程伟 学号:20121183011 指导教师:吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日 华中科技大学武昌分校制

面向对象程序设计课程设计任务书

目录 1需求与总体设计 (6) 1.1需求分析 (6) 1.2程序功能图 (6) 1.3程序类图 (7) 2详细设计 (8) 2.1 MyFrame实现 (8) 2.1.1窗体对象的序列图 (8) 2.1.2 Myframe详细类图 (9) 2.2 Mario实现 (9) 2.2.1 Mario对象的序列图 (9) 2.2.2 Mario类图 (10) 2.3 Enemy类的实现 (11) 2.4 Obstruction类的实现 (12) 2.5 BackGround类实现 (12) 3编码实现 (13) 3.1 MyFrame类的详细代码........................................................................................... 错误!未定义书签。 3.2 BackGround类的详细代码..................................................................................... 错误!未定义书签。 3.3 Mario类的详细代码............................................................................................... 错误!未定义书签。 3.4 Enemy类的详细代码............................................................................................... 错误!未定义书签。 3.5 Obstruction类的详细代码................................................................................... 错误!未定义书签。4系统测试. (63) 4.1 游戏开始界面的测试 (63) 4.2 游戏运行的测试 (63) 4.3 排除错误的处理 (66) 总结 (67)

java贪吃蛇课程设计

1设计目的 1.1背景 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。 本文在介绍Java相关技术和国外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。 1.2目标 本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2 总体设计 2.1 设计思路 本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求: (1) 利用方向键来改变蛇的运行方向。 (2) 空格键暂停或继续游戏,并在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2.2设计说明 本系统共包括1个java源文件和7个类文件。

利用JAVA实现一个时钟的小程序

JAVA课程项目报告 项目题目:利用JAVA实现一个小时钟的程序 专业班级:10软件工程 利用JAVA实现一个时钟的小程序 1.软件开发的需求分析 在当今的信息时代,时钟已经成为人们生活中必不可少

的应用工具,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 2.具体实现 2.1设计思路 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如

自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写小时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单小时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了小时钟的基本功能。 2.2设计方法 在设计简单小时钟时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。 小时钟除了需要编写的上述5个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。 2.3 运行环境 CPU:Pentium 2.8GHz以上 内存:256MB以上 硬盘空间:80G以上 操作系统:Windows XP 运行环境:JDK,JCreator 2.4 程序功能图及程序相关说明 2.4.1 主功能框

Java web开发教程部分 (2)

对于我这样一个爱书、爱开源及爱Spring的人来说,每一次读市面上关于Spring的图书,都会让我对Spring有新的认识及体验,因为每一个作者都会用他所认识的方式来告诉我们什么是Spring、怎么用Spring。由所选择的点不同,角度的不540C,因此读多了就知道Spring真正是什么。 2007年,我跟ErikChang、船长、stef等曾经打算合作写一本能“深入Spring 2”的书籍,然而由于工作的原因,却没能坚持到最后,遗憾的同时,也让我深深体会到了写作的艰辛。2008年春节刚过,ErikChang突然告诉我,他已写完了一本关于Spring 2的书籍。给我发了《精通Spring 2.x Java Web开发》的几章,我一口气读完,感到非常欣慰与惊叹。欣慰的是我读到了一本真正“Spring 2”的书,惊叹的是ErikChang在几个月的时间里奇迹般地写出这么多的东西。 不管您是Spring的新手还是老手,我相信你从这本书中一定能读到以前所不了解的Spring,在应用好Spring的同时,了解他的设计原理,了解他里面的设计精华及编码艺术,这将会为您增加不少的财富。 只是能简单地应用Spring,这没意义;反复不断地深入学习Spring的源码,并把收获及心得拿出来与大家分享,这有意义。因此,ErikChang做了一件非常有意义的事。 用心能做好一件事,执着能让我们取得成功。祝愿每一位读者朋友工作顺利,事业成功! EasyJF 创始人 技术总监 蔡世友,

第1章 开始Spring之旅 自从Spring问世以来就引起了J2EE业界的关注,J2EE开发原本就是一个很复杂的领域,很多初级程序员都不敢涉足,Spring改变了这个局面,Spring出现以后迅速使J2EE开发越来越简单,某种程度上促进了软件生产力的发展,Spring已经成为众多程序员都日益青睐的开发框架,本章将带领大家开始学习Spring,主要内容如下。 ●Spring源码的获取 ●源码内容说明 ●第一个Spring实例 1.1 获取并查看Spring 在使用Spring之前首先要获取该框架的jar包,同时Spring是一个开源项目,有兴趣的读者可以查看Spring源码,了解Spring的设计思想及源码的编写,本节带领读者一步步来获取并查看Spring源码,使读者学会独立获取Spring并在Eclipse IDE中查看Spring源码,对Spring有个概念的认识。 1.1.1 获取Spring 首先到官方网站下载Spring, Spring的官方网址是https://www.doczj.com/doc/283595591.html,/,单击download栏目,进入下载页面,如图1-1所示。

BBS论坛数据库设计代码

BBS论坛数据库设计代码 use master go ----------------------------------------新建数据bbsDB的库------------------------------------------------------- --判断数据库是否存在使用exists关键字,在用sysdatabases关键字查询-- if exists(select * from sysdatabases where name = 'bbsDB') --如果数据库存在就删除此数据库用drop(删除)database(数据库对象)bbsDB(数据库名)-- drop database bbsDB --删除后在添加一个数据库create(添加)database(数据库对象)bbsDB(数据库名)on-- create database bbsDB on ( name = 'bbsDB_MDF', --数据库主文件名-- filename = 'F:\SQL\第四阶段\bbsDB_MDF.mdf', --数据库存储的路径-- size = 10mb, --数据库初使大小-- filegrowth = 10% --增长变化-- ) --设置日志文件-- log on ( name = 'bbsDB_LDF', --日志文件名-- filename = 'F:\SQL\第四阶段\bbsDB_LDF.ldf', --日志文件存储路径-- size = 1mb, --日志文件初使大小-- maxsize = 20mb, --日志文件最大的可储存-- filegrowth = 10% --增长变化-- ) go ---------------------------------------以上信息为新建的数据库------------------------------------------------- use bbsDB go ---------------------------------------新建bbsUsers表(用户表)------------------------------------------------- --判断bbsDB库是否有表bbsUser的存在exists关键字+sysobjects判断当前数据库表-- if exists(select * from sysobjects where name='bbsUsers') --如果表存在就删除此表-- drop table bbsUser --新建bbsUser表-- create table bbsUsers ( UID int identity(1,1) not null, --用户编号,自动增长列,不允许空-- Uname varchar(50) not null, --用户名,不允许空-- Upassword varchar(50) not null, --密码,不允许空-- Uemail varchar(50), --邮箱-- Usex char(2) not null, --性别,不允许空-- Uclass int, --用户等级--

相关主题
文本预览
相关文档 最新文档