java课程设计 万年历 源代码

java课程设计 万年历 源代码
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.添加当日行事历,储存与清除功能

3、主要源程序及代码

黄色突出显示今日日期

选择一月五日,添加事件:今天我们放假啦!!!点击存储。

查询1991年选择9月点击查询

代码实现:

import java.io.*;//引入相关物件

import java.util.*;

import https://www.360docs.net/doc/1c6034687.html,ng.Thread;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import https://www.360docs.net/doc/1c6034687.html,boBoxModel;

import javax.swing.DefaultComboBoxModel;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JDesktopPane;

import javax.swing.JLabel;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.JScrollPane;

import javax.swing.WindowConstants;

import javax.swing.border.BevelBorder;

import javax.swing.border.LineBorder;

import javax.swing.border.SoftBevelBorder;

public class NewJFrame extends javax.swing.JFrame //建立一视窗物件{

private JDesktopPane jDesktopPane1;//相关物件宣告

private JDesktopPane jDesktopPane2;

private JButton jButton1;

private JButton jButton2;

private JLabel jLabel2;

private JLabel jLabel4;

private JLabel jLabel3;

private JLabel jLabel5;

private JLabel jLabel6;

private JLabel jLabel7;

private JLabel jLabel8;

private JComboBox jComboBox1;

private JTextField jTextField1;

private JButton jButton3;

private JTextArea jTextArea1;

private JLabel jLabel1;

public static void main(String[] args) throws IOException//主程式开始

{

NewJFrame inst = new NewJFrame();

inst.setVisible(true);

}//主程式結束

public NewJFrame()//建立视窗开始

{

super();

initGUI();//呼叫GUI函數

}//建立视窗結束

public int[] getdate()//取得系统日期函数开始

{

int[] date_array = new int[3];

Calendar ca = new GregorianCalendar();

date_array[0] = ca.get(Calendar.YEAR);//年

date_array[1] = ca.get(Calendar.MONTH)+1;//月

date_array[2] = ca.get(Calendar.DAY_OF_MONTH);//日

return date_array;//回傳自訂日期陣列

}//取得系統日期函數結束

public void new_btn()//重新产生日期按钮函数开始

{

jTextArea1.setText("");//清空记事

int year,month;

year = Integer.parseInt(jLabel5.getText().substring(0,4));//設定為已選擇的年month = Integer.parseInt(jLabel5.getText().substring(7,9));//設定為已選擇的月date_btn_create(year,month);//呼叫產生日期按鈕函數

}//重新產生日期按鈕函數結束

public void date_btn_create(int year,int month)//產生日期按鈕

{

int y=0,x=0,x_add=0,y_add=0,week_add=0,date_acc=0,week_of_day=0;

String syear,smonth,sday,filename;

syear = String.valueOf(year);

smonth = String.valueOf(month);

if (smonth.length() == 1)//若小於10月(一位數)就在前面加0

smonth = "0"+smonth;

jDesktopPane1.remove(jDesktopPane2);//移除桌面2(日期按鈕附著,也就是把日期按鈕移除) jDesktopPane2 = new JDesktopPane();//產生一個新的桌面

jDesktopPane1.add(jDesktopPane2);

jDesktopPane2.setBounds(0, 30, 252, 196);//設定大小及位置

jDesktopPane2.setBackground(new java.awt.Color(148,205,176));//設定顏色

switch(month)//設定月份天數

{

case 1://大月31天

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

date_acc = 31;

break;

case 4://小月30天

case 6:

case 9:

case 11:

date_acc = 30;

break;

case 2:

if (leap_year(year))

date_acc = 29;

else

date_acc = 28;

}

week_of_day = dow(year,month,1);//呼叫星期函數(取得當月第一天為星期幾)

switch(week_of_day)//設定當月1日位置(像素)

{

case 0:

week_add = 0;

break;

case 1:

week_add = 34;

break;

case 2:

week_add = 68;

break;

case 3:

week_add = 102;

break;

case 4:

week_add = 136;

break;

case 5:

week_add = 170;

break;

case 6:

week_add = 204;

break;

}

JButton btn[] = new JButton[date_acc];//建立日期按鈕陣列

for (int i=0;i

{

btn[i] = new JButton();//建立對應日期按鈕

jDesktopPane2.add(btn[i]);//加到桌面2上

btn[i].setText(String.valueOf(i+1));//設定按鈕文字為日期

if ((i-week_of_day>0 && (i+week_of_day)%7==0) || ((i+week_of_day)%7==0 && i != 0))

{//設定當月第一天日期按鈕位置

x=0;//X軸座標

x_add=0;//下一個按鈕座標(X軸)加值

y++;//Y軸座標

y_add+=10;//換行座標(Y軸)加值

week_add=0;//當月第一日按鈕座標加值

}//下面設定按鈕大小及加值(X為起始10+第幾個按鈕*橫向寬度25+間隔+當月第一天星期幾加值)

btn[i].setBounds(10+x*25+x_add+week_add, y*20+y_add, 25, 20);//(Y為第幾個按鈕*高度20+換行加值)按鈕寬為25高為20

btn[i].setFont(new java.awt.Font("Arial",1,12));//設定字體大小及樣式

btn[i].setBorder(BorderFactory.createT itledBorder(""));//設定按鈕文字不自動調整大小

int[] now = new int[3];

now = getdate();//取得當天日期

if (year == now[0] && month == now[1] && i+1 == now[2])

btn[i].setBackground(new java.awt.Color(233,238,164));//若為當天則設定按鈕為黃色else

btn[i].setBackground(new java.awt.Color(148,205,176));//若不是當天則設定按鈕為綠色

sday = String.valueOf(i+1);

filename = syear+smonth+sday;//記事檔案名稱(年+月+日.txt)

File file=new File(filename+".txt");//建立檔案物件

if (file.exists())//若當天有記事檔案則設定按鈕字體顏色為藍色

btn[i].setForeground(new java.awt.Color(0,0,255));

btn[i].addActionListener(new ActionListener() {//設定按鈕監聽(觸發事件函數)

public void actionPerformed(ActionEvent evt) {

btnActionPerformed(evt);

}

});

x++;//下一個按鈕X座標加權

x_add+=9;//下一個按鈕間隔X座標加權

}

}

public boolean leap_year(int year)//判斷閏年函數開始

{

boolean leap_year;//4的倍數,若為100的倍數則必須為4的倍數才是閏年

if (year%4 == 0)

{

if (year%100 == 0)

{

if (year%400 == 0)

leap_year = true;

else

leap_year = false;

}

else

leap_year = true;

}

else

leap_year = false;

return leap_year;

}//判斷閏年函數結束

public int dow(int y,int m,int d)//判斷星期幾

{

int[] ww={6, 2, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};//天文星體運行值

int w;

w=ww[m-1]+y+(y/4)-(y/100)+(y/400);//閏年設定

if( ((y%4)==0) && (m<3) )//公式

{

w--;

if((y%100)==0) w++;

if((y%400)==0) w--;

}

return (w+d)%7;//回傳星期幾(0為星期日,1為星期一以此類推)

}

private void initGUI()//產生視覺化物件函數(Graph User Interface,圖形化使用者介面)

{

try

{

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//設定外框視窗主要功能列為標準(縮到最小,放到最大,關閉)

{

this.setT itle("万年行事历");//設定視窗抬頭

jDesktopPane1 = new JDesktopPane();//建立一桌面

getContentPane().add(jDesktopPane1, BorderLayout.CENTER);

jDesktopPane1.setPreferredSize(new java.awt.Dimension(464, 267));//設定桌面大小

jDesktopPane1.setBackground(new java.awt.Color(148,205,176));//設定桌面顏色

{//建立桌面2開始(放日期按鈕的桌面)

jDesktopPane2 = new JDesktopPane();

jDesktopPane1.add(jDesktopPane2);

jDesktopPane2.setBounds(0, 30, 252, 196);

jDesktopPane2.setBackground(new java.awt.Color(148,205,176));

}//建立桌面2結束

{//建立星期日標籤開始

jLabel1 = new JLabel();

jDesktopPane1.add(jLabel1);

jLabel1.setText("Sun");

jLabel1.setBounds(14, 7, 21, 21);

jLabel1.setFont(new java.awt.Font("Arial",0,11));

jLabel1.setForeground(new java.awt.Color(255,0,0));

}//建立星期日標籤結束

{//建立記事框開始

jTextArea1 = new JTextArea(252, 35);

jDesktopPane1.add(jTextArea1);

jTextArea1.setText("");//預設內容清空

jTextArea1.setBounds(252, 42, 175, 182);//設定大小

jTextArea1.setFont(new java.awt.Font("新細明體",0,11));//設定字體樣式大小

jTextArea1.setLineWrap(true);//文字過長自動換行

jTextArea1.setWrapStyleWord(true);//文字過長自動換行

JScrollPane scrollPane = new JScrollPane(jTextArea1,

JScrollPane.VERTICAL_SCROLLBAR_ALWA YS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWA YS);

jDesktopPane1.add(scrollPane);//上面為建立scorollpane(視窗旁邊的移動棒);將記事框建立在scrollpane上

scrollPane.setBounds(252, 42, 175, 182);//設定大小及位置

}//建立記事框結束

{//建立清除按鈕開始

jButton1 = new JButton();

jDesktopPane1.add(jButton1);

jButton1.setText("清除");

jButton1.setBounds(252, 231, 63, 21);

jButton1.setFont(new java.awt.Font("新細明體",0,11));

jButton1.setBorder(BorderFactory.createT itledBorder(""));

jButton1.addActionListener(new ActionListener() {//設定清除按鈕監聽函數

public void actionPerformed(ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

}//建立清除按鈕結束

{//建立儲存按鈕開始

jButton2 = new JButton();

jDesktopPane1.add(jButton2);

jButton2.setText("储存");

jButton2.setBounds(364, 231, 63, 21);

jButton2.setFont(new java.awt.Font("新細明體",0,11));

jButton2.setBorder(BorderFactory.createT itledBorder(""));

jButton2.addActionListener(new ActionListener() {//設定儲存按鈕監聽函數

public void actionPerformed(ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

}//建立儲存按鈕結束

{//建立星期一~星期六標籤開始

jLabel2 = new JLabel();

jDesktopPane1.add(jLabel2);

jLabel2.setText("Mon Tue Wed Thu Fri Sat");

jLabel2.setBounds(49, 7, 189, 21);

jLabel2.setFont(new java.awt.Font("Arial",0,11));

}//建立星期一~星期六標籤結束

{//建立查詢年份輸入框開始

jTextField1 = new JTextField();

jDesktopPane1.add(jTextField1);

jTextField1.setText("");

jTextField1.setBounds(14, 231, 63, 21);

jTextField1.setFont(new java.awt.Font("Arial",0,12));

}//建立查詢年份輸入框結束

{//建立狀態標籤開始

jLabel6 = new JLabel();

jDesktopPane1.add(jLabel6);

jLabel6.setText("TEST");

jLabel6.setBounds(357, 7, 70, 21);

jLabel6.setFont(new java.awt.Font("新細明體",0,11));

jLabel6.setForeground(new java.awt.Color(0,0,255));

}//建立狀態標籤開始

{//建立隱藏日期按鈕暫存標籤開始

jLabel7 = new JLabel();

jDesktopPane1.add(jLabel7);

jLabel7.setText("");

jLabel7.setBounds(0, 0, 0, 0);//設定大小為0

}//建立隱藏日期按鈕暫存標籤結束

{//建立目前選擇日期標籤開始

jLabel8 = new JLabel();

jDesktopPane1.add(jLabel8);

jLabel8.setText("目前无选择日期");

jLabel8.setBounds(252, 28, 175, 14);

jLabel8.setFont(new java.awt.Font("新細明體",0,11));

}//建立目前選擇日期標籤結束

{//建立月份下拉選單開始

ComboBoxModel jComboBox1Model = new DefaultComboBoxModel

(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" });//內容設定1~12 jComboBox1 = new JComboBox();

jDesktopPane1.add(jComboBox1);

jComboBox1.setModel(jComboBox1Model);

jComboBox1.setBounds(105, 231, 40, 21);

jComboBox1.setFont(new java.awt.Font("Arial",0,11));

}//建立月份下拉選單結束

{//建立"月"標籤開始

jLabel3 = new JLabel();

jDesktopPane1.add(jLabel3);

jLabel3.setText("月");

jLabel3.setBounds(155, 231, 14, 21);

jLabel3.setFont(new java.awt.Font("新細明體",0,12));

}//建立"月"標籤結束

{//建立"年"標籤開始

jLabel4 = new JLabel();

jDesktopPane1.add(jLabel4);

jLabel4.setText("年");

jLabel4.setFont(new java.awt.Font("新細明體", 0, 12));

jLabel4.setBounds(84, 231, 14, 21);

}//建立"年"標籤結束

{//建立查詢按鈕開始

jButton3 = new JButton();

jDesktopPane1.add(jButton3);

jButton3.setText("查询");

jButton3.setBounds(180, 231, 35, 21);

jButton3.setBorder(BorderFactory.createT itledBorder(""));

jButton3.setFont(new java.awt.Font("新細明體",0,11));

jButton3.addActionListener(new ActionListener() {//查詢按鈕監聽函數

public void actionPerformed(ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

}//建立查詢按鈕結束

{//建立目前年月位置標籤開始

int[] now = new int[3];

now = getdate();//預設為當年當月

String year5,smonth;

year5 = String.valueOf(now[0]);

smonth = String.valueOf(now[1]);

if (smonth.length() == 1)

smonth = "0"+smonth;

jLabel5 = new JLabel();

jDesktopPane1.add(jLabel5);

jLabel5.setText(year5+" 年"+smonth+" 月");

jLabel5.setBounds(252, 7, 120, 21);

jLabel5.setForeground(new java.awt.Color(255,255,255));//設定字體為白色}//建立目前年月位置標籤結束

{//預設為當年當月日期按鈕產生開始

int[] now = new int[3];

now = getdate();

date_btn_create(now[0],now[1]);//產生日期按鈕

}//預設為當年當月日期按鈕產生結束

}

pack();

this.setSize(444, 296);

} catch (Exception e) {//例外處理

e.printStackTrace();

}

}

private void jButton1ActionPerformed(ActionEvent evt)//清除按鈕按下觸發事件

{

jTextArea1.setText("");//清除記事內容

String year,month,day,filename,insert_str;

year = jLabel5.getText().substring(0,4);

month = jLabel5.getText().substring(7,9);

day = jLabel7.getText();

filename = year+month+day;

File file=new File(filename+".txt");//刪除當日記事檔案

file.delete();

new_btn();//重新產生按鈕

jLabel6.setText("行事曆已清除");//設定相關訊息

jLabel7.setText("");

jLabel8.setText("目前無選擇日期");

}

private void jButton2ActionPerformed(ActionEvent evt)//儲存按鈕按下觸發事件開始

{

String year,month,day,filename,insert_str;

year = jLabel5.getText().substring(0,4);

month = jLabel5.getText().substring(7,9);

day = jLabel7.getText();

filename = year+month+day;

insert_str = jTextArea1.getText();//記事內容

if (insert_str.length() != 0 && day.length() != 0)//若記事框內有文字且有選擇日期則儲存記事檔案{

try

{

FileWriter fw=new FileWriter(filename+".txt");//啟用檔案寫入

BufferedWriter bfw=new BufferedWriter(fw);//啟用緩衝區寫入

bfw.write(insert_str); //將Textarea內容寫入緩衝區裡

bfw.flush();//將緩衝區資料寫到檔案

fw.close();//關閉檔案

jLabel6.setText("行事历已记录");//設定相關訊息

jLabel7.setText("");

jLabel8.setText("目前无选择日期");

new_btn();

}catch(IOException e)

{

e.printStackTrace();

}

}

else//若無記事內容或無選擇日期

{

if (day.length() == 0)

jLabel6.setText("日期未選擇");//設定相關訊息

else

jLabel6.setText("行事曆無內容");

}

}//儲存按鈕按下觸發事件結束

private void jButton3ActionPerformed(ActionEvent evt)//查詢按鈕按下觸發事件開始

{

String syear,smonth;

try

{

jTextArea1.setText("");

jLabel6.setText("查詢日期");

syear = jTextField1.getText();

smonth = String.valueOf(jComboBox1.getSelectedIndex() + 1);

if (smonth.length() == 1)

smonth = "0"+smonth;

if (syear == "" || Integer.parseInt(syear)<1582)//若未輸入年份就觸發例外(1582年以前曾經改曆過,結果會不準確)

{

int[] now = new int[3];

now = getdate();

syear = String.valueOf(now[0]);//若選擇年份小於1582年則預設為當年

jLabel6.setText("請選1582以上");

}

jLabel5.setText(syear+" 年"+smonth+" 月");

date_btn_create(Integer.parseInt(syear),Integer.parseInt(smonth));

jLabel7.setText("");

jLabel8.setText("目前無選擇日期");

}catch(NumberFormatException e)//例外處理設定為當年及選擇的月份

{

int[] now = new int[3];

now = getdate();

syear = String.valueOf(now[0]);

smonth = String.valueOf(jComboBox1.getSelectedIndex() + 1);

if (smonth.length() == 1)

smonth = "0"+smonth;

jLabel5.setText(syear+" 年"+smonth+" 月");

jLabel6.setText("請選1582以上");

date_btn_create(Integer.parseInt(syear),Integer.parseInt(smonth));

jLabel7.setText("");

jLabel8.setText("目前無選擇日期");

}

}//查詢按鈕按下觸發事件結束

private void btnActionPerformed(ActionEvent evt)//日期按鈕按下觸發事件開始

{

jTextArea1.setText("");

String year,month,btn_date,filename,read_str;

year = jLabel5.getText().substring(0,4);//取得年

month = jLabel5.getText().substring(7,9);//取得月

btn_date = evt.getActionCommand();//取得按下按鈕文字(日)

filename = year+month+btn_date;

jLabel7.setText(btn_date);

try

{

FileReader fr = new FileReader(filename+".txt");//讀取選擇日期記事檔案

BufferedReader bfr = new BufferedReader(fr);//將檔案讀到緩衝區

boolean flag=false;//旗標

while((read_str = bfr.readLine())!=null) // 每次讀取一行,直到檔案結束

{

if (flag)//從第二行開始每一行第一個位置加入斷行

jTextArea1.append("\n");

jTextArea1.append(read_str);//加入該行訊息

flag=true;

}

jLabel6.setText("当天记事");

jLabel8.setText("已选择"+year+"年"+month+"月"+btn_date+"日");

fr.close();

}catch(FileNotFoundException e)//如果沒有指定的記事檔案就印出當日無行事曆(例外處理) {

jLabel6.setText("当日无行事历");

jLabel8.setText("已选择"+year+"年"+month+"月"+btn_date+"日");

}catch(IOException e)//例外處理

{

e.printStackTrace();

}

}//日期按鈕按下觸發事件結束

}

4、程序总结

该程序能够很好的实现万年历的功能,包括选择年份,月份。而且从外观上看不但简洁实用而且很美观。程序打开的时候,能看到左边显示的是万年历框,右边显示的是记事本框,简洁明了。具有月份下拉功能,需要月份下拉的时候,可以随意调到自己需要的月份进行查看,十分方便。可以任选一个日期,并在此日期中输入日记的信息,点击存储便可保存。点击清除便可删除。

5.心得体会

经过短暂的Java课程设计,是我又学到了很多的知识,尤其是运用Java知识去解决实际问题的能力有得到了很大的提高。尽管所设计的程序比较简单,但是程序中的每个功能的实现都经过了自己的一定认真的思考。当然,仍然有些理论只是在实际运用中了解的不够深刻,所以程序在设计时也就不那么完美。对于本程序的设计,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用到那些知识点,如相关的类和对象等,最后便是考虑用源代码进行实现了。经过了长时间的编写与调试,在课本以及网上查阅了相关资料,终于完成了程序的编写。

通过这次课程设计,我明白了写程序不仅要求对于课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构。

(完整版)java课程设计——客户管理系统源代码

完整代码: 1.客户类(class person): package客户管理系统; public class Person { private int num; private String name; private String address; private String sex; public Person(){} public Person(int num,String name,String address,String sex){ this.num=num; https://www.360docs.net/doc/1c6034687.html,=name; this.address=address; this.sex=sex; } public void setNum(int num){ this.num=num; } public int getNum(){ return num; } public void setName(String name){ https://www.360docs.net/doc/1c6034687.html,=name; } public String getName(){ return name; } public void setAddress(String address){ this.address=address; } public String getAddress(){ return address;

} public void setSex(String sex){ this.sex=sex; } public String getSex(){ return sex; } public String toString() { return"\t"+num+"\t"+name+"\t"+address+"\t"+sex; } } 2.菜单类(class Menu): package客户管理系统; import java.util.Scanner; public class Menu { Scanner input=new Scanner(System.in); public Menu() {} public int showMenu() { System.out.println("***********************************" ); System.out.println("客户管理系统"); System.out.println("===================================" ); System.out.println("【1】增加"); System.out.println("【2】删除"); System.out.println("【3】修改"); System.out.println("【4】查询"); System.out.println("【5】浏览"); System.out.println("【6】退出"); System.out.println("***********************************" ); System.out.print("请选择操作:");

Java课程设计+文档+源代码(万年历+闹钟+记事本)

2015年12月18日 一、课程题目 设计一个万年历系统,实现以下功能 (1)可以查看当前的年份、月份和日期; (2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 二、题目分析与设计 1.使用的开发环境为eclipse Jdk环境:jdk1.8 2. (此为万 年历界面图) 使用了jTabbedPane 类对功能页面分页,布局策略基本用BorderLayout 和GridLayout 。 3.本项共有5个类,基本一个功能有一个类实现,主类CalendarMain 只包含一个main函数:对创建框架和其属性设置。

AlarmDemo类则实现闹钟功能;NoteBook 类实现记事本功能;CalendarsView 类则实现基本日历功能,ChooseDay 类是一个弹窗,被CalendarsView 调用,CalendarsView 、AlarmDemo 也在该类被调用; . 4.日历界面使用了jTable ,功能的实现逻辑则是 1.首先定义两个全局变量---年和月,查看不同时间的日历,该变量也 随之改变。 2.写了几个函数获取今年第一天是星期几,然后根据月份天数即可推 算具体某月第一天是星期几。 3.知道一个月第一天是星期几,则该月日历既可以顺序列出。 闹钟的功能实现思路: 1.获取界面设定的时间。

2.使用线程,每过一秒急救获取当前时间,并判断是否到达设定的时 间 3.到设定的时间,启动弹窗,播放闹铃 4.闹铃科根据文件选择器自行选择 记事本功能实现思路 1.在项目文件夹先新建一个txt文件作为储存的数据库 2.利用File 类和io 数据流将界面文本储存进txt文件,实现保存功 能 3.每当程序启动,读取txt文件内容并显示到界面上 三、测试分析 1.使用如下拓展包

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

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《万年历系统》课程设计报告附源码

2013-2014学年第二学期《面向对象程序设计》 课程设计报告 题目:万年历系统 专业:计算机科学与技术 班级: : 学号: 指导教师: 成绩:

计算机与信息工程系2014年6月6日

目录 1 设计容及要求 (1) 1.1设计容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (2) 2.1程序设计思路 (2) 2.2 总体程序框图 (3) 3 设计过程或程序代码 (4) 3.1各个模块的程序流程图及运行界面 (4) 3.2对关键代码加以分析说明 (7) 4 设计结果与分析 (13) 4.1程序调试的结果 (13) 4.2程序设计分析 (13) 5 小结 (14) 致 (15) 参考文献 (16) 源程序 (17)

1 设计容及要求 1.1设计容 万年历,实际上就是记录一定时间围(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。在我设计的万年历中主要有:(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规。 (2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。 (3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。 (4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 1.2设计任务及具体要求 利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。 要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。当用户随意改动年份或月份时系统自动显示与星期对应的日期。用户点击日

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

java(源代码)连连看课程设计

目录 第一章引言 (2) 1.背景 (2) 1.1课程设计内容 (3) 第二章系统介绍 (4) 1.连连看游戏规则 (4) 1.1游戏基本规则 (4) 1.2操作规则 (4) 1.3胜利和失败 (4) 2.游戏流程图分析 (4) 第三章系统游戏设计 (7) 1.系统分析 (7) 1.1游戏系统需求分析 (7) 1.2系统开发及运行环境 (7) 1.3系统功能主要要求 (7) 2.系统总体结构 (8) 3. 系统各模块功能介绍 (8) 第四章系统的具体实现 (9) 1.系统主要运行界面 (9) 1.1运行界面 (9) 1.2执行界面,进入游戏正常运行 (9) 1.3时间到界面 (10) 1.4赢家界面 (11) 1.5进度条界面 (12) 图4.5程序运行进度条 (12) 2.游戏实现代码 (12) 2.1主面板内所需要的组件的声明 (12) 2.2填充一个矩形框,进行显示时间 (12) 2.3主面板及各组件初始化 (13) 2.4创建时间对象,每隔100毫秒刷新一次 (13) 2.5分数代码。 (13) 3.消除图片具体情况 (14) 3.1两次点击相同图片相邻 (14)

3.2水平方向消去算法 (14) 3.3竖直方向消去算法 (15) 第五章程序清单 (16) 第六章结束语 (24) 第七章参考文献 (25) 第一章引言 1.背景 游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。 随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 游戏《连连看》,只要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合细心的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。 该游戏由30张不同的图片组成,游戏开始将会出现30张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

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页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

JAVA-课程设计报告

《JA V A程序设计》 课程设计报告 设计题目:学生信息管理系统学院名称:信息工程学院 专业班级:13计本1 姓名: 学号:

目录 一需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 二概要设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 三详细设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.1 数据库设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2 模块及窗体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.1 数据库模块设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.2 用户登录识别模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 3.2.3用户信息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (1)密码修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (2)用户信息添加和删除。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 3.2.4 学生息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (1)添加信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (2)信息查看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 (3)信息修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 (4)删除信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14 3.2.5 系统管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 3.2.6 主窗体菜单设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 四软件测试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 五总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 参考资料:.......................................................17

Java英汉电子字典课程设计源代码

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.360docs.net/doc/1c6034687.html,.*; import java.sql.*; import java.awt.event.*; import javax.swing.JOptionPane; import java.io.*; import sun.audio.*; class dzcd extends Frame implements ActionListener { MenuBar menubar=new MenuBar();//菜单 Menu fileMenu,editMenu,helpMenu; MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel; TextField inputtext; TextArea txt; Label label1,label2; Button btn1,btnsound; Panel p,p1,p2,p3; dzcd() { super("电子词典"); setBounds(200,300,350,400); setMenuBar(menubar);

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.360docs.net/doc/1c6034687.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

java课程设计任务书万年历

课程设计(论文)任务书 软件学院学院_______________________________ 专业_______________________ 班一、 课程设计(论文)题目 ____________________________________________________________ 二、课程设计(论文)工作自2012 年12月_2£日起至2012年12月_28_日止。 三、课程设计(论文)地点: 软件学院实训中心 四、课程设计(论文)内容要求: 1 ?本课程设计的目的______________________________________________________________ (1)掌握Java语言的程序设计方法; ( 2)理论联系实际,进一步提高学生的软件开发技术; ( 3)培养学生分析、解决问题的能力; ( 4)提高学生实践论文撰写能力。 2 ?课程设计的任务及要求 1 )课程设计任务: (1) 设计一个万年历系统,能查看日期。 ___________________________________________ (2) 能查任意一年任意一月的日期。 _______________________________________________ (3) 背景显示当前年月。 _________________________________________________________ 2) 创新要求: (1)月份查看使用下拉菜单。 (2)查看框可随意拉大拉小,背景显示当前的年月。__________________________________ 3) 课程设计论文编写要求___________________________________________________________ (1)课程设计任务及要求____________________________________________________________ (2 )设计思路--工作原理、功能规划 (3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注 释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。 (5 )设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些 知识,有哪些提高。

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

相关文档
最新文档