• Java课程设计,包括文件压缩,聊天软件,下载二进制文件三个课程设计。包含其源码和相应的课程设计文档。
  • 本资源包含11个高质量的java demo代码,适合于大学生课程设计,又名大作业,示例结构清晰,全部原创,避免撞车。还在为课程设计而发愁吗?赶快来下载吧!
  • java课程设计题目

    2020-06-06 16:21:10
    1)初步掌握软件开发过程的问题分析、系统设计、程序编码、调试等基本方法和技能。 ...4)要求从问题需求入手,设计抽象数据类型、编码和调试等若干步骤完成设计任务,最后规范撰写课程设计报告。
  • 本人学校里JAVA课程设计的一些题目,分享给大家,大家可以拿来练练手!1,课题:算术运算测试功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算...

    本人学校里JAVA课程设计的一些题目,分享给大家,大家可以拿来练练手!

    1,课题:算术运算测试
    功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数.
    界面要求:用图形界面实现.
    2,课题:猜数游戏
    功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语.
    界面要示:用图形界面实现.
    3,学生成绩管理
    功能要求:
    输入十个同学的学号,姓名,四科成绩(应用数学,大学英语,java程序设计,计算机应用基础)
    计算出平均成绩.以平均成绩降序输出成绩表.
    输出全组各科平均分,最高分和最低分.
    输入姓名查询成绩
    界面要示:用图形界面实现.
    4,计算器模拟程序
    功能要求:该程序显示gui用户界面,能实现整数的加,减,乘,除四则运算.
    界面要示:用图形界面实现.

    5,画随机的圆
    功能要求:实现简单的动画.具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;变换速度由参数控制(控制sleep时间).
    界面要求:用图形界面实现.
    6,用菜单和按钮来控制绘图
    功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆,画空心或实心矩形,画多边形(图形的位置和大小可在程序中设定).
    界面要求:用图形界面实现.
     

    展开全文
  • Java课程设计题目

    2008-11-17 20:48:00
    Java课程设计题目1、编写一个记事本程序要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。2、模拟龟兔赛跑要求:用图形用户界面实现。能设置比赛时间,马匹的数量...


    Java课程设计题目

    1、编写一个记事本程序
    要求:
    用图形用户界面实现。
    能实现编辑、保存、另存为、查找替换等功能。
    提示:使用文件输入输出流。

    2、模拟龟兔赛跑
    要求:
    用图形用户界面实现。
    能设置比赛时间,马匹的数量等等。
    在任意时间段内马匹的速度是随机的。
    开始比赛之后以动画显示赛马过程。
    提示:使用多线程

    3、学生信息管理系统
    要求:
    使用图形用户界面
    用数据库建立1或2个学生信息表。(不限使用哪种数据库)
    能连接数据库并实现查询、增、删、改等功能。

    4、图书信息管理系统
    要求:
    使用图形用户界面
    用数据库建立1或2个图书信息表。(不限使用哪种数据库)
    能连接数据库并实现查询、增、删、改等功能。

    5、聊天小程序
    要求:
    使用图形用户界面。
    能实现一个聊天室中多人聊天。
    可以两人私聊。
    提示:使用socket通信

    6、ATM柜员机模拟程序
    要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
    1、查询余额:初始余额为10000元
    2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
    3、ATM存款:不能出现负存款。
    4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

    7、超市收银系统
    要求:使用图形用户界面。
    由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。
    另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

    8、万年历
    要求:
    使用图形用户界面。
    实现日期与星期的查询

    9、网络监听程序
    要求:
    使用图形用户界面。
    有服务器和客户端,服务器监听客户端的登陆。即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色。
    绿灯表示连接,红灯表示断线。
    提示:socket的监听方法

    10、全球通计费程序
    要求:
    使用图形用户界面。
    使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。
    能根据输入实现各种用户的话费的计算并显示月实时帐单。
    提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。

    11.日历记事本
    要求:带有日程提醒功能的日历。
    1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
    2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
    3、查询信息:用户可以查询到某个月的所有的提示信息。

    12.电子英汉词典
    要求:
    能够编辑词典库中的信息
    能够实现英译汉,汉译英。(要考虑一词多义)

    13.加密与解密
    要求:采用图形用户界面
    1、给定任意一个文本文件,进行加密,生成另一个文件。
    2、对加密后的文件还原。

    14.小游戏

    要求:。
    程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面)

    15.敏感词汇分析
    要求:
    任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。

    一. 一个简单的学生成绩管理信息系统
    数据库要求:

    1. 建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语成绩。

    2. 至少要有5个班级,每个班级要有10名以上学生。

    3. 使用.txt格式文本表示各种表。

    功能需求:

    1. 能够实现根据以下关键字查询:学生姓名 、学号、班级、课程名称。

    2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。

    3. 能够实现学生信息的插入、删除和修改。

    4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。

    5. 能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。

    界面要求:

    1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

    2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。

    其他要求:

    1. 标识符命名遵循Windows命名规范。

    2. 能够注意各种异常处理,注重提高程序运行效率。

    提交内容:

    1. 用于表示数据库的.txt文件格式说明。

    2. 全部源代码。

    3. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)。

     

    二、一个简单的算法演示程序

    功能要求:

    1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。

    2. 可以进行手动演示,也可以自动步进式演示。

    3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。

    4. 不同的算法输入要求见下。

    界面要求:

    1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

    2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。

    其他要求:

    1. 标识符命名遵循Windows命名规范。

    2. 能够注意各种异常处理,注重提高程序运行效率。

    提交内容:

    1. 全部源代码。

    2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)

    参考算法:

    1. 最小生成树算法:Prim算法、Kruskal算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。

    2. 单源最短路算法:Dijkstra算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。

    3. 最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。

    4. 其他可供演示的具有一定难度的算法,如关键路径问题、有向图的极大连通分支等。

     

    三、一个简单的网络聊天程序

    功能要求:

    1. 实现类似与飞鸽的功能,自动侦测局域网内部启动该软件的用户,并显示在用户列表中。

    2. 可以进行两个人之间的私聊。

    3. 可以群聊。

    4. 可以发送文件。

    界面要求:

    1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

    其他要求:

    1. 标识符命名遵循Windows命名规范。

    2. 能够注意各种异常处理,注重提高程序运行效率。

    提交内容:

    1. 全部源代码。

    2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)

     

    四、一个简单的万年历

    功能要求:

    1. 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。

    2. 能够按照月份格式显示,或按照星期格式显示。

    3. 能够显示系统时间。

    4. 能够设置闹钟。

    5. 能够查询若干国际大城市(分布在不同时区)的时间。

    界面要求:

    1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

    其他要求:

    1. 标识符命名遵循Windows命名规范。

    2. 能够注意各种异常处理,注重提高程序运行效率。

    提交内容:

    1. 全部源代码。

    2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)

     

    五、一个计算数学表达式的程序

    功能要求:

    1. 由用户输入一个简单的四则运算表达式,求出其计算结果后显示。

    2. 允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。

    界面要求:

    1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

    2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。

    其他要求:

    1. 标识符命名遵循Windows命名规范。

    2. 能够注意各种异常处理,注重提高程序运行效率。

    提交内容:

    1. 全部源代码。

    2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)

    展开全文
  • [size=medium]2009年java课程设计题目 1、 编写一个个人简历录入程序,通过文本框录入姓名,通过单选按钮选择性别,通过组合框选择专业(计算机,电子,工商等)和文化程度(大专,本科,硕士,博士等),设置...
    [size=medium]2009年java课程设计题目

    1、 编写一个个人简历录入程序,通过文本框录入姓名,通过单选按钮选择性别,通过组合框选择专业(计算机,电子,工商等)和文化程度(大专,本科,硕士,博士等),设置“提交”与“取消”两个按键,当用鼠标点击“提交”按键时,在文本框中显示所填写以及选择的信息。当点击“取消”按键退出系统。

    代码如下:[/size]

    package com.hpjianhua.swing;

    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;

    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;

    public class MyFrame {

    public static void main(String[] args) {
    new RunFrame();
    }
    }

    class RunFrame extends JFrame {

    private JLabel name_label, sex_label, pro_label, lev_label;
    private TextField field;
    private JCheckBox manButton, womanButton;
    private JComboBox proList, levList;
    private JTextArea mainText;
    private JButton confirmButton, cancelButton;
    private JPanel panel1, panel2, panel3, panel4, panel5, panel6, panel1_2,
    panel3_4, panel5_6;

    public RunFrame() {
    // this.setLayout(new GridLayout());
    this.setTitle("个人简历");
    this.setSize(300, 400);
    this.setLocation(200, 200);
    panel1 = new JPanel();
    panel2 = new JPanel();
    panel3 = new JPanel();
    panel4 = new JPanel();
    panel5 = new JPanel();
    panel6 = new JPanel();
    panel1_2 = new JPanel();
    panel3_4 = new JPanel();
    panel5_6 = new JPanel();
    panel1.setLayout(new FlowLayout());
    name_label = new JLabel("姓名");
    panel1.add(name_label);
    field = new TextField(6);

    panel1.add(field);
    panel2.setLayout(new FlowLayout());
    sex_label = new JLabel("性别");
    panel2.add(sex_label);
    manButton = new JCheckBox("男");
    panel2.add(manButton);
    womanButton = new JCheckBox("女");
    panel2.add(womanButton);

    panel3.setLayout(new FlowLayout());
    pro_label = new JLabel("专业");
    panel3.add(pro_label);

    String[] listValue1 = new String[] { "计算机", "电子", "工商" };
    String[] listValue2 = new String[] { "大专", "本科", "硕士", "博士" };
    proList = new JComboBox(listValue1);
    panel3.add(proList);

    panel4.setLayout(new FlowLayout());
    lev_label = new JLabel("文化程度");
    panel4.add(lev_label);
    levList = new JComboBox(listValue2);
    panel4.add(levList);

    confimButtonAction cofaction = new confimButtonAction();
    cancelButtonAction canaction = new cancelButtonAction();
    panel5.setLayout(new FlowLayout());
    confirmButton = new JButton("提交");
    confirmButton.addActionListener(cofaction);
    panel5.add(confirmButton);
    cancelButton = new JButton("取消");
    cancelButton.addActionListener(canaction);
    panel5.add(cancelButton);

    panel6.setLayout(new FlowLayout());
    mainText = new JTextArea();
    mainText.setColumns(20);
    mainText.setRows(10);
    panel6.add(mainText);
    panel1_2.add(panel1, BorderLayout.WEST);
    panel1_2.add(panel2, BorderLayout.EAST);
    panel3_4.add(panel3, BorderLayout.WEST);
    panel3_4.add(panel4, BorderLayout.EAST);
    panel3_4.add(panel5, BorderLayout.SOUTH);
    panel5_6.add(panel6, BorderLayout.SOUTH);
    this.getContentPane().add(panel1_2, BorderLayout.NORTH);
    // this.getContentPane().add(panel2,BorderLayout.EAST);
    this.getContentPane().add(panel3_4, BorderLayout.CENTER);
    this.getContentPane().add(panel5_6, BorderLayout.SOUTH);

    this.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    this.setVisible(true);

    }

    class confimButtonAction implements ActionListener {

    public void actionPerformed(ActionEvent e) {
    String sex ="";
    if(manButton.isSelected()){
    sex="男";
    }else {
    sex="女";
    }
    mainText.setText("姓名:" + field.getText() + "\n" + "性别:" + sex
    + "\n" + "专业:" + (String) proList.getSelectedItem() + "\n"
    + "文化程度:" + (String) levList.getSelectedItem() + "\n");
    }
    }

    class cancelButtonAction implements ActionListener {

    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    }
    }
    展开全文
  • JAVA 课程设计

    2018-07-03 11:12:12
    课程设计目的:复习、巩固Java语言的基础知识,进一步加深对Java可视化程序设计的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决...

     

    一、设计内容与设计要求

    1.课程设计目的:

    复习、巩固Java语言的基础知识,进一步加深对Java可视化程序设计的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;为后继课程的实验以及课程设计打下较扎实的基础。

    2.设计要求:

    掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。具体要求如下:

    1)设计课题题目: 实验选课系统 

    ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。③完成系统详细设计:包括采用java语言定义相关的数据类型;写出各模块的算法;画出函数的调用关系图。④调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。⑤关键源程序(带注释)

    ⑶按规定格式完成课程设计报告,将其打印稿(A4)上交给老师存档。

    ⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

     

     

     

       

    随着计算机的普及,计算机技术有快速的发展,计算机在各行各业的应用也越来越广泛,为了满足时代的需要,我们开发了许多与实际相应的应用系统,实验选课系统就是一个很好的例子。实验选课系统的用处非常大,它是记录学生选课以及教师等相关信息的软件,应用不同的用户权限加以控制,解决了数据的安全性问题。使用简单、方便,对学校的选课有很大的帮助。

     

     

    关键词:数据库应用;学生实验选课;权限;数据库


     



      言

    数据结构在计算机应用中的作用非常大,程序=数据结构+算法,算法的实现也离不开数据结构,一个好的算法必须要有合适的数据结构加以实现,才能保证算法的优越性。课程设计实际上就是程序的集合,是数据结构和算法方面的综合应用,课程设计不仅仅是考验我们的编程,对语言的学习能力,更主要的是培养我们对系统软件开发的方法的学习和团队合作能力的考验。当然,课程设计的意义并不是完全局限于此,每个人在课程设计中都可以得到不同的锻炼。本次课程设计的题目是实验选课系统。

    主要任务:1实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。2、管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。3、管理员可删除教师,学生及实验课程信息。4、教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。

    本次设计采用了SQL Sever2008VS2010等软件实现系统。


    1 需求分析

    系统用户分为三类:学生、教师、管理员;

    学生有选课、退选、查询成绩和课程信息、教师名单等功能。

    教师有添加成绩,查询学生名单和课程信息、统计、考勤等功能。

    管理员具有全系统的使用功能。

    1.1 系统分析

    实验选课系统针对不同的用户,对系统有着不同的使用权限,因此要求系统有密码登录功能。

    1.2 用户需求

    l  实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。

    l  管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。

    l  管理员可删除教师,学生及实验课程信息。

    l  教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功

     

     

     

     

     

     

     

     

    2 概要设计  

    2.1系统流程图

    2-1 系统流程图

    2.2 系统功能模块设计

    系统主要功能如下所示:



    2-2 系统功能模块

     

     

    2.3 系统总体设计

    实验选课系统分为教师,学生管理员三个功能模块。

    学生模块:选课、查寻实验信息、教师名单等功能。

    教师模块:考勤、成绩统计、学生实验成绩录入、查寻实验信息、所任课程的学生名单等功能。

    管理员模块:具有全系统的查询、更新功能。

    3 数据库设计

    3.1 概念模型设计

    3.1.1 设计原理

    通过对系统的总体结构的把握,采用自顶向下和自底向上像结合的混合策略,先采用自顶下策略设计出全局概念结构,再使用自底向上的方法设计出各局部概念结构。

    3.1.2 概念模型

    经过对实验选课系统所涉及到的数据进行分析,得到如下的实体:

    (1)    学生:属性包括学号、姓名、密码。

    (2)    课程:属性包括课程号、课程名称、课程信息(包括上课时间、上课地点、上课教师)。

    (3)    教师:职工号、教师姓名、密码。

    (4)    管理员:管理员编号、管理员姓名、密码。

    联系有:

    (1)    考勤:表示教师、实验课程、学生之间的关系。它有属性:状态

    (2)    选课:表示学生与实验课程之间的关系。它有属性:成绩。

    所设计的概念模型(E-R图)

                                
                                          图3-1 系统E-R

                         

        图 3-2 管理员分E-R

                               

    3-3 学生分E-R

     



    图 3-4 教师分E-R

     



    图 3-5 实验课程分E-R

     

     

    3.2 逻辑结构设计

    3.2.1 将实体转换为关系模式

    S(Sno,Sname,password)

    C(Cno,Cname,Ctine,Cplace,Tno)

    T(Tno,Tname,password)

    A(Ano,Aname,password)

    3.2.2将联系转换为关系模式

    SC(Sno,Cno,grade)

    TCS(Tno,Cno,Sno,status)

    3.3 物理结构设计

    3.3.1  基本表设计

    1、学生表:

    3-1 职工信息表

    字段名

    字段描述

    字段类型

    备注

    Sno

    学号

    Char(10)

    主键

    Sname

    姓名

    Char(10)

    password

    密码

    Char(10)

     

    创建学生表的SQL语句如下:

    Create table S

    (

    Sno char(10) primary key,

    Sname char(10),

    Password char(10)

    );

    2、教师表:

    3-2 教师信息表

    字段名

    字段描述

    字段类型

    备注

    Tno

    职工号

    Char(10)

    主键

    Tname

    教师姓名

    Char(10)

    password

    密码

    Char(10)

     

    创建教师表的SQL语句如下:

    Create table T

    (

    Tno char(10) primary key,

    Tname char(10),

    Password char(10)

    );

     

    3、管理员表:

    3-3 管理员信息表

    字段名

    字段描述

    字段类型

    备注

    Ano

    管理员编号

    Char(10)

    主键

    Aname

    姓名

    Char(10)

    password

    密码

    Char(10)

     

    创建管理员表的SQL语句如下:

    Create table A

    (

    Ano char(10) primary key,

    Aname char(10),

    Password char(10)

    );

     

    4、实验课程表:

    3-4 实验课程信息表

    字段名

    字段描述

    字段类型

    备注

    Cno

    课程号

    Char(10)

    主键

    Cname

    课程名称

    Char(20)

    Ctime

    上课时间

    Char(20)

    Cplace

    上课地点

    Char(10)

    Tno

    任课教师

    Char(10)

    T表外键

     

    创建实验课程表的SQL语句如下:

    Create table C

    (

    Cno char(10) primary key,

    Cname char(20),

    Ctime char(20),

    Cplace char(10),

    Tno char(10) foreign key references T(Tno)

    );

     

    5、学生选课表:

    3-5 学生选课信息表

    字段名

    字段描述

    字段类型

    备注

    Sno

    学号

    Char(10)

    主键

    Cno

    课程号

    Char(10)

    主键

    grade

    成绩

    Int

     

    创建学生选课表的SQL语句如下:

    Create table SC

    (

    Sno char(10) foreign key references S(Sno),

    Cno char(10) foreign key references S(Sno),

    grade int,

    primary key(Sno,Cno)

    );

    6、考勤表:

    3-6 考勤信息表

    字段名

    字段描述

    字段类型

    备注

    Tno

    职工号

    Char(10)

    主键

    Cno

    课程号

    Char(20)

    主键

    Sno

    学号

    Char(20)

    主键

    status

    状态

    Char(10)

    创建考勤表的SQL语句如下:

    Create table TCS 

    (

    Tno char(10) foreign key references T(Tno),

    Cno char(10) foreign key references S(Sno),

    Sno char(10) foreign key references S(Sno),

    status char(10),

    primary key(Tno,Cno,Sno)

    );

     

    4 程序模块设计

    4.1 开发环境及数据库连接

    本系统使用VS2010编程环境编写,使用SQL Sever (SQLEXPRESS)数据库,基于JFrame窗体设计,采用ADO.NET数据库访问技术。

    4.2 学生模块设计

    4.2.1设计思路

    根据任务书的内容,明确学生模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。

    4.2.2实现方法(以程序流程图或伪码表示 )

    学生模块代码:

    private void 学生选课ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new Sxuanke().Show();

    }

    private void 已选课程ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new Syixuan().Show();

    }

     

     

    private void 查询实验信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectshiyan().Show();

    }

    private void 教师名单ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new Tmingdan().Show();

     }

    private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         this.Close();

         new login().Show();

    }

    4.3教师模块设计

    4.3.1设计思路

    根据任务书的内容,明确教师模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。

    4.2.2实现方法(以程序流程图或伪码表示 )

    private void 录入成绩ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new gradeAdd().Show();

    }

    private void 查询实验课程信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectshiyan().Show();

    }

    private void 学生名单ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new xueshengmingdan().Show();

    }

    private void 考勤ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new kaoqing().Show();

    }

    private void 统计ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new tongji().Show();

    }

    private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         this.Close();

         new login().Show();

    }

    4.4 管理员模块设计

    4.4.1设计思路

    根据任务书的内容,明确管理员模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。

    4.2.2实现方法(以程序流程图或伪码表示 )

    private void 添加学生用户ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new AddS().Show();

    }

    private void 添加教师用户ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new AddT().Show();

    }

    private void 添加实验课程信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new AddC().Show();

    }

    private void 学生信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectS().Show();

    }

    private void 教师信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectT().Show();

    }

    private void 实验课程信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectC().Show();

     }

    private void 学生选课信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectSC().Show();

    }

    private void 考勤信息ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         new selectTCS().Show();

    }

     

    private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

    {

         this.Close();

         new login().Show();

    }

    5.系统测试

    5.1测试环境

    系统测试的时候主要是黑盒测试,进行功能的验证。

    工具:Windows 10 、VS2010SQL Sever

    5.2 测试用例及结果

    5.2.1 界面测试

    测试界面是否整洁美观,人机对话是否友好,检查所有的页面是否能够正确的显示,每个页面的风格是否一致,界面是否有错别字,页面每一个链接是否有对应的界面,页面控件和操作按钮的位置是否合理,界面中的下拉列表的值是否正确,是否有重复的值。

    界面测试结果,界面整洁美观,界面友好,界面风格一致,无错别字,控件按钮位置合适易于操作,输入框、下拉列表等显示正确。

    5.2.2功能测试

    1、登录测试

     



    5-1管理员登录测试1



    5-2登录失败测试

     




    学生登录测试



    查询结果



       

    通过本次数据库课程设计,对数据库的使用有了更深的了解,对于数据库的设计过程和方法有了更全面的认识。当然,本次课程设计使用的是数据库语言,对这门语言也有了初步的认识。在完成系统的过程中,让我认识到了自己的不足,自己在项目综合实训方面还比较欠缺。本次课程设计完成了任务书的全部内容,系统的详细设计还有欠缺,系统界面还有待完善。对数据库安全的方面了解甚少,以至于不知道怎样去维护,在数据库的设计方面花了很多时间,但是,有些问题还没有考虑进去。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    参考文献

    1]梁勇JAVA语言程序设计(基础篇)第十版,机械工业出版社

    2Bain T. SQL server 2008数据仓库与Analysis Services. 中国电出版社  

    3周龙骧.《数据库管理系统实现技术》.中国地质大学出版社

     

    展开全文
  • java课程设计点菜系统 网络编程课程设计源代码
  • Java课程设计-《贪吃蛇》安卓
  • Java课程设计题目】:使用已经学习的java知识编写一个简单的记事本 【实现功能】: 【1】文件: 新建 打开 保存 另存为 退出 【2】编辑: 剪切 复制 粘贴 删除 撤销 【3】格式: 自动换行 字体格式 字体颜色...

    Java课程设计

    【题目】:使用已经学习的java知识编写一个简单的记事本

    【实现功能】:

    【1】文件: 新建 打开 保存 另存为 退出

    【2】编辑: 剪切 复制 粘贴 删除 撤销

    【3】格式: 自动换行 字体格式 字体颜色 查找||替换

    【4】查看: 关于记事本

    【5】帮助 :帮助选项

    【6】显示当前时间

    【使用的类】:

    import.java.io; 
    import java.swt; 
    import javax.swing; 
    import javax.swing.undo.UndoManager

    代码:

    package Note;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.GraphicsEnvironment;
    import java.awt.GridLayout;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    import javax.swing.JButton;
    import javax.swing.JCheckBoxMenuItem;
    import javax.swing.JColorChooser;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.JToolBar;
    import javax.swing.undo.UndoManager; // 对菜单活动事件撤销的实现
    
    public class NotePad extends JFrame /// extends继承JFrame类
    {
    
    	int start = 0, end = 0;
    	private UndoManager manager = new UndoManager();// 添加布局管理器
    	private JTextArea text = new JTextArea();
    	private JFileChooser jfc = new JFileChooser();
    	private String jsb = "新建记事本";
    	private File file;
    	private JMenuBar menu;
    
    	// ---------------菜单栏
    	private JMenu File_bar, Edit_bar, Format_bar, View_bar, Help_bar;
    
    	// ---------------文件菜单
    	private JMenuItem File_bar_creat, File_bar_open, File_bar_save, File_bar_othersave, File_bar_exit;
    
    	// ---------------编辑菜单
    	private JMenuItem Edit_bar_Revoke, Edit_bar_shear, Edit_bar_copy, Edit_bar_paste, Edit_bar_delete;
    
    	// ---------------格式菜单
    	private JMenuItem Format_bar_hl, m30, Format_bar_ztxz, Format_bar_ztsz, View_bar_about, Help_bar_help;
    
    	// ---------------查找替换菜单
    	private JMenuItem Format_bar_find_replace;
    
    	private JLabel statusLabel1;
    	private JToolBar statusBar;
    
    	GregorianCalendar time = new GregorianCalendar();
    	int hour = time.get(Calendar.HOUR_OF_DAY);
    	int min = time.get(Calendar.MINUTE);
    	int second = time.get(Calendar.SECOND);
    
    	/* 文件格式过滤器 */
    	public class filter extends javax.swing.filechooser.FileFilter
    	{
    		public boolean accept(File file)
    		{
    			String name = file.getName();
    			name.toString(); // 该字符串中的数字被转换为字符
    			/* 文件后缀是.txt且是个目录 */
    			if (name.endsWith(".txt") || file.isDirectory())
    			{
    				return true;
    			} else
    				return false;
    		}
    
    		/* 将引用具体子类的子类对象的方法,不可以省略类中的getDescription(),原因是编译器只允许调用在类中声明的方法. */
    		public String getDescription()
    		{
    			return ".txt";
    		}
    	}
    
    	/* 将菜单项 JMenu添加菜单 JMenuBar */
    	public JMenu AddBar(String name, JMenuBar menu)
    	{
    		JMenu jmenu = new JMenu(name);
    		menu.add(jmenu);
    		return jmenu;
    	}
    
    	/* 将菜单项JMenuItem添加到菜单JMenu */
    	public JMenuItem AddItem(String name, JMenu menu)
    	{
    		JMenuItem jmenu = new JMenuItem(name);
    		menu.add(jmenu);
    		return jmenu;
    	}
    
    	class Clock extends Thread
    	{ // 模拟时钟
    		public void run()
    		{
    			while (true)
    			{
    				GregorianCalendar time = new GregorianCalendar();
    				int hour = time.get(Calendar.HOUR_OF_DAY);
    				int min = time.get(Calendar.MINUTE);
    				int second = time.get(Calendar.SECOND);
    				statusLabel1.setText(" 当前时间:" + hour + ":" + min + ":" + second);
    				try
    				{
    					Thread.sleep(950);
    				} catch (InterruptedException exception)
    				{
    				}
    
    			}
    		}
    	}
    
    	NotePad note;
    
    	// public void NotePad()
    	{
    		Container container = getContentPane();
    		setTitle(jsb); // 设置窗口标题
    		setBounds(250, 250, 500, 500);// 设置边界
    		JMenuBar menu = new JMenuBar(); // 添加菜单 JMenuBar
    		this.setJMenuBar(menu);// 调用this方法
    		text.getDocument().addUndoableEditListener(manager);// 用于获得程序当前有效的文档
    		/*
    		 * Font是JAVA中的字体类,PLAIN是Font类中的静态常量( static final ) ,表示是:普通样式常量 BOLD
    		 * :粗体样式常量 ,ITALIC: 斜体样式常量,14:磅
    		 */
    		text.setFont(new Font("宋体", Font.PLAIN, 14));
    
    		/* 光标颜色 */
    		text.setCaretColor(Color.gray);
    
    		/* 选中字体颜色 */
    		text.setSelectedTextColor(Color.blue);
    
    		/* 选中背景颜色 */
    		text.setSelectionColor(Color.green);
    
    		/* 是否换行 */
    		text.setLineWrap(true);
    
    		/* 是否单词边界换行(即有空白) */
    		text.setWrapStyleWord(true);
    
    		/* 文本区与边框的间距,四个参数分别为上、左、下、右 */
    		text.setMargin(new Insets(3, 5, 3, 5));
    
    		/* 创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制 */
    		add(new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
    				JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED));
    
    		File_bar = this.AddBar("文件(F)", menu);
    		// File_bar.setMnemonic('F');
    		Edit_bar = this.AddBar("编辑(E)", menu);
    		Format_bar = this.AddBar("格式(O)", menu);
    		View_bar = this.AddBar("查看(V)", menu);
    		Help_bar = this.AddBar("帮助(H)", menu);
    
    		/* 文件选项 */
    		/* 新建选项 */
    		File_bar_creat = this.AddItem("新建(N)   Ctrl+N", File_bar);
    		File_bar_creat.addActionListener(new ActionListener()
    		{
    			// @Override
    			public void actionPerformed(ActionEvent arg0)
    			{
    				// 设置新文件内容
    				text.setText("");
    			}
    		});
    
    		/* 打开选项 */
    		File_bar_open = this.AddItem("打开(O)   Ctrl+O", File_bar);
    		File_bar_open.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				try
    				{
    					jfc.setCurrentDirectory(new File("."));// 设置当前目录
    					jfc.setFileFilter(new filter()); // 过滤文件
    
    					/*
    					 * 确定是否将AcceptAll FileFilter用作可选择过滤器列表中一个可用选项。如果为假,
    					 * 则AcceptAll文件过滤器从可用的文件过滤列表中删除。
    					 * 如果为true,则AcceptAll文件过滤器将成为可用的文件过滤器。
    					 */
    					jfc.setAcceptAllFileFilterUsed(false); // 全选文件
    
    					jfc.showOpenDialog(null); // 弹出一个 "Open File" 文件选择器对话框。
    					file = jfc.getSelectedFile(); // 获取已经选择目录
    					jsb = file.getName(); // 获取目录名
    					setTitle(jsb); // 显示目录名
    					int length = (int) (jfc.getSelectedFile()).length();
    					char[] ch = new char[length];
    					FileReader fr = new FileReader(file);
    					fr.read(ch);
    					jsb = new String(ch);
    					text.setText(jsb.trim()); // 获得对象的字段的值,然后转成string类型,并且去掉前后空白~~ToString()是转化为字符串的方法
    					// Trim()是去两边空格
    				} catch (Exception e)
    				{
    					JOptionPane.showMessageDialog(null, e);
    				}
    			}
    		});
    
    		/* 保存选项 = (1)如果文件为空,新建一个目录保存;(2)如果当前文件存在,直接保存 */
    		File_bar_save = this.AddItem("保存(S)   Ctrl+O", File_bar);
    		File_bar_save.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				if (file == null)
    				{
    					try
    					{
    						jfc = new JFileChooser();
    						jfc.setCurrentDirectory(null);
    						jsb = JOptionPane.showInputDialog("请输入文件名:") + ".txt";
    						/*
    						 * setSelectedFile返回的是对话框中选中的文件但如果对话框类型是showSaveDialog的话,
    						 * 那么这里返回的值是你要保存的文件, 这个文件可能存在,可能不存在,就是你在对话框中输入的文件名了,
    						 * 既然知道了文件,如果不存在,就新建一个,然后向文件写入数据,这样就可以实现保存了
    						 */
    						jfc.setSelectedFile(new File(jsb));
    						jfc.setFileFilter(new filter());
    						int temp = jfc.showSaveDialog(null); // 获取当前对象
    						if (temp == jfc.APPROVE_OPTION) // 获得选中的文件对象
    						{
    							if (file != null)
    								file.delete();
    							file = new File(jfc.getCurrentDirectory(), jsb);
    							file.createNewFile();
    							FileWriter fw = new FileWriter(file);
    							fw.write(text.getText());
    							fw.close();
    						}
    					} catch (Exception e)
    					{
    						JOptionPane.showMessageDialog(null, e);
    					}
    				} else
    				{
    					try
    					{
    						FileWriter fw = new FileWriter(file);
    						fw.write(text.getText());
    						fw.close();
    					} catch (Exception e)
    					{
    						JOptionPane.showMessageDialog(null, e);
    					}
    				}
    			}
    		});
    
    		/* 另存为选项 */
    		File_bar_othersave = this.AddItem("另存为(A)...", File_bar);
    		File_bar_othersave.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				// file fw = new file();
    				jfc = new JFileChooser();
    				jfc.setCurrentDirectory(new File("."));
    				try
    				{
    					if (file == null)
    					{
    						jsb = JOptionPane.showInputDialog("请输入文件名:") + ".txt";
    					} else
    						jsb = file.getName();
    					jfc.setSelectedFile(new File(jsb));
    					jfc.setFileFilter(new filter());
    					int temp = jfc.showSaveDialog(null);
    					if (temp == jfc.APPROVE_OPTION) // 获得选中的文件对象
    					{
    						if (file != null)
    							file.delete();
    						file = new File(jfc.getCurrentDirectory(), jsb);
    						file.createNewFile();
    						FileWriter fw = new FileWriter(file);
    						fw.write(text.getText());
    						fw.close();
    					}
    				} catch (Exception e)
    				{
    					JOptionPane.showMessageDialog(null, e);
    				}
    			}
    		});
    
    		/* 将默认大小的分隔符添加到工具栏的末尾。 */
    		File_bar.addSeparator();
    
    		/* 退出选项 + 退出提示 */
    		File_bar_exit = this.AddItem("退出(X)", File_bar);
    		File_bar_exit.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				int state = JOptionPane.showConfirmDialog(note, "您确定要退出?退出前请确定您的文件已保存");
    				if (state == JOptionPane.OK_OPTION)
    					System.exit(0);
    			}
    		});
    
    		/* 编辑选项 */
    		/* 撤消选项 */
    		Edit_bar_Revoke = this.AddItem("撤销(U)   Ctrl+Z", Edit_bar);
    		Edit_bar_Revoke.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				if (manager.canUndo())
    					manager.undo();
    			}
    		});
    
    		/* 剪切选项 */
    		Edit_bar_shear = this.AddItem("剪切(T)   Ctrl+X", Edit_bar);
    		Edit_bar_shear.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				text.cut();
    			}
    		});
    
    		/* 复制选项 */
    		Edit_bar_copy = this.AddItem("复制(C)   Ctrl+C", Edit_bar);
    		Edit_bar_copy.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				text.copy();
    			}
    		});
    
    		/* 粘贴选项 */
    		Edit_bar_paste = this.AddItem("粘贴(P)   Ctrl+V", Edit_bar);
    		Edit_bar_paste.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				text.paste();
    			}
    		});
    
    		/* 删除选项=用空格替换从当前选取的开始到结束 */
    		Edit_bar_delete = this.AddItem("删除(L)   Del", Edit_bar);
    		Edit_bar_delete.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				text.replaceRange("", text.getSelectionStart(), text.getSelectionEnd());
    			}
    		});
    
    		/* 自动换行选项 */
    		// m26 = this.AddItem("自动换行(W)", m3);
    		JCheckBoxMenuItem Format_bar_hl = new JCheckBoxMenuItem("自动换行", true);
    		Format_bar.add(Format_bar_hl);
    		Format_bar_hl.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				/* 根据文件名获取文件信息 */
    				if (Format_bar_hl.getState())
    					text.setLineWrap(true);
    				else
    					text.setLineWrap(false);
    			}
    		});
    
    		/* 字体选项 */
    		/*
    		 * 字体格式设置选项 GraphicsEnvironment 类描述了 Java(tm) 应用程序在特定平台上可用
    		 * 
    		 * 的 GraphicsDevice 对象和 Font 对象的集合
    		 */
    		Format_bar_ztxz = this.AddItem("字体选择(F)", Format_bar);
    		Format_bar_ztxz.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				/* 获取本地图形环境 */
    				GraphicsEnvironment gr = GraphicsEnvironment.getLocalGraphicsEnvironment();
    				/* 字体名称列表框 */
    				JList fontnames = new JList(gr.getAvailableFontFamilyNames());
    				/* JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口 */
    				int selection = JOptionPane.showConfirmDialog(null, new JScrollPane(fontnames), "请选择字体",
    						JOptionPane.OK_CANCEL_OPTION);
    				Object selectedFont = fontnames.getSelectedValue();
    				if (selection == JOptionPane.OK_OPTION && selectedFont != null)
    				{
    					text.setFont(new Font(fontnames.getSelectedValue().toString(), Font.PLAIN, 20));
    				}
    			}
    		});
    		/* 字体颜色设置选项 */
    		Format_bar_ztsz = this.AddItem("颜色(C)", Format_bar);
    		Format_bar_ztsz.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				Color color = JColorChooser.showDialog(null, "文字颜色选择", Color.BLACK);
    				text.setForeground(color);
    			}
    		});
    		Format_bar_find_replace = this.AddItem("替换(R)||查找(F)", Format_bar);
    		Format_bar_find_replace.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				JDialog search = new JDialog();
    				search.setSize(300, 100);
    				search.setLocation(450, 350);
    				JLabel label_1 = new JLabel("查找的内容");
    				JLabel label_2 = new JLabel("替换的内容");
    				JTextField textField_1 = new JTextField(5);
    				JTextField textField_2 = new JTextField(5);
    				JButton buttonFind = new JButton("查找下一个");
    				JButton buttonChange = new JButton("替换");
    				JPanel panel = new JPanel(new GridLayout(2, 3));
    				panel.add(label_1);
    				panel.add(textField_1);
    				panel.add(buttonFind);
    				panel.add(label_2);
    				panel.add(textField_2);
    				panel.add(buttonChange);
    				search.add(panel);
    				search.setVisible(true);
    				// 为查找下一个 按钮绑定监听事件
    				buttonFind.addActionListener(new ActionListener()
    				{
    					public void actionPerformed(ActionEvent e)
    					{
    						String findText = textField_1.getText();// 查找的字符
    						String textArea = text.getText();// 当前文本框的内容
    
    						start = textArea.indexOf(findText, end);
    						end = start + findText.length();
    						if (start == -1) // 没有找到
    						{
    							JOptionPane.showMessageDialog(null, "没找到" + findText, "记事本", JOptionPane.WARNING_MESSAGE);
    							text.select(start, end);
    						} else
    						{
    							text.select(start, end);
    						}
    
    					}
    				});
    				// 为替换按钮绑定监听时间
    
    				buttonChange.addActionListener(new ActionListener()
    				{
    					public void actionPerformed(ActionEvent e)
    					{
    						String changeText = textField_2.getText();// 替换的字符串
    						/* 如果选定文件为真 */
    						if (text.getSelectionStart() != text.getSelectionEnd())
    							text.replaceRange(changeText, text.getSelectionStart(), text.getSelectionEnd());
    					}
    				});
    			}
    		});
    
    		View_bar_about = this.AddItem("关于记事本(About)", View_bar);
    		View_bar_about.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				JOptionPane.showMessageDialog(null, "记事本\n开发语言:JAVA\n开发者:【herongwei&&limiao】\n联系方式:rongweihe1995@gmail.com", "关于",
    						JOptionPane.PLAIN_MESSAGE);
    			}
    		});
    
    		Help_bar_help = this.AddItem("帮助选项(H)", Help_bar);
    		Help_bar_help.addActionListener(new ActionListener()
    		{
    			public void actionPerformed(ActionEvent event)
    			{
    				JOptionPane.showMessageDialog(null, "详细代码请移步\n博客:https://rongweihe.github.io/", "帮助", JOptionPane.PLAIN_MESSAGE);
    			}
    		});
    
    		JPanel toolBar = new JPanel();
    		toolBar.setLayout(new FlowLayout(FlowLayout.LEFT));
    		// --------------------------------------向容器添加工具栏
    
    		container.add(toolBar, BorderLayout.NORTH);
    		// -----------------------------------创建和添加状态栏
    
    		// toolBar.add(File_bar);
    		// toolBar.add(Edit_bar);
    		// toolBar.add(Format_bar);
    		// toolBar.add(Help_bar);
    		// toolBar.add(View_bar);
    
    		statusBar = new JToolBar();
    		statusBar.setLayout(new FlowLayout(FlowLayout.LEFT));
    		statusLabel1 = new JLabel(" 当前时间:" + hour + ":" + min + ":" + second);
    		statusBar.add(statusLabel1);
    		statusBar.addSeparator();
    		container.add(statusBar, BorderLayout.SOUTH);
    		statusBar.setVisible(true);
    		Clock clock = new Clock();
    		clock.start();
    		this.setResizable(true); // 窗体是否可变
    		this.setVisible(true); // 窗体是否可见
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    
    	public static void main(String args[])
    	{
    		NotePad example = new NotePad();
    
    	}
    
    	/*
    	 * public class jjishiben{ public static void main(Strin args[]) { public
    	 * void Run() { NotePad note = new NotePad(); note.setTitle("记事本");
    	 * note.setVisible(true); note.setBounds(250, 250, 500, 500);
    	 * note.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } }
    	 */
    }

     

     

    2015/12/15   新增获取本机时间功能,显示在一个StausBar里面。

    2015/12/15   新增查找和替换功能,当用户没有选择任何字符时,不会默认在最后面添加字符。

    展开全文
  • 这是java课程设计 银行管理系统 有数据库链接,挺好的,适合初学者
  • 本项目的主要任务是做一个试卷自动生成系统,面向用户的界面友好的...难易型试卷生成——试卷题目总数=很难的题目数目+一般的题目数目+容易的题目数目 能自动生成知识点型试卷、综合型试卷、难易型试卷、难易型试卷加强
  • Java课程设计完整版

    2015-07-05 22:32:30
    补充之前的java课程设计,不仅仅只有方法,更加人性化的在控制台给予提示输入,加入了键盘输入的代码 下面是源码,很长的前两个类仅仅是判断是多了equals()方法,不知道为什么,加入了键盘输入方法就必须这么判断,...
  • Java课程设计,用JAVA语言实现一个简单地计算器,包含基本的加减乘除,清零等功能,内容中包含工程源代码下载的地址
  • 具体到我的下载页下载(开源)
  • Java web 课程设计超市购物系统
  • JAVA课程 设 计 报 告  1206401-18 瞿杰 一、设计时间  2013年6月 24日-----6月28日 二、设计地点  湖南城市学院实验楼计算机506机房 三、设计目的  1、巩固学习VB基础知识方面的基本算法,进一步熟悉...
  • 小学算术运算测试程序,JAVA课程设计报告,有基本代码
  • JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html •个人负责模块或任务说明 1.主框架类:设置棋盘窗体,颜色等 2.isWin方法:判断胜负 •自己的...
  • 距离2017年还有30多个小时~转眼间2016只剩一...请多关照~2017希望我的家人们,小伙伴们,以及所有帮助过我的朋友们都能健健康康,万事如意~Java 课设远没有自己想的难,万年历,不用做显示面~也算2016JAVA的最后一
1 2 3 4 5 ... 20
收藏数 11,634
精华内容 4,653