精华内容
下载资源
问答
  • 怎么用JAVA实现文件管理系统,JAVA菜鸟真心求助。 二、实验项目内容 1、实现文件夹创建、删除、进入。 2、实现当前文件夹下的内容罗列。 3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件...
  • java学生信息管理系统(附源码)

    万次阅读 多人点赞 2016-07-14 16:36:30
    1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作 另外一种是SQL语句。 3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*...

    一:   介绍

          

      1:实现登录界面

        2:实现主界面

               有两种操作 一种是按钮操作  另外一种是SQL语句。

        3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse,            jcreator什么的都是IDE,使用都一样,基本没什么区别,只不过myeclipse更商业化不开源,也就意味着收费,里面集成的插件比较多而已。

               *****************************************************************************************************

               用到的软件及环境SQLserver2008,eclipse,sqljdbc4.jar(数据库驱动包)

               *****************************************************************************************************

               另外一个Mysql 5.7.15.  Myeclipse2015,mysql-connector-java-5.1.34.jar

                 **********************************************************************************************************************

     

               java的JDK环境 (自行安装配置)

                切记:

                另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):

                还要导入sqljdbc4.jar

            

        4:实现增删改查  (另有退出和刷新)

    二:    使用

      1:首先导入rjgc包

     

    然后点开browse  找到rjgc  

    最后点击finish

    得到    下图

    加载出来以后可能有的java文件前面有错,因为还没有导入sqljdbc4.jar

    (*******************************************************************************************************************************                    注意,方式一导入jdbc的图是之前我做的时候比较麻烦的一种方式,但是也能达到效果,在后期的我更新的链接资源中,如果导入任意版本源码包的话,都会自动加载lib包以及下面不同版本对应的jdbc连接驱动。这时候你只需要在那个lib文件夹下的.jar 文件上右键点击-->build path--->add to build path,导入jdbc结束。

    方式二导入:贴一张图

    上面这张图是方式二导入的,

    **************************************************************************************************************************)

     

    接下来继续,方式一导入  看下图:

     

     

     

    这时候应该就差不多可以运行了,不过还得把SQLserver2008的(MSSQLSERVER)服务开启了。

    上图

    再回到eclipse界面 打开rjgc

    最后双击LoginIn.java打开代码文本

    运行  就可以出现登录界面  

    在LoginIn.java代码文本里面找到登录用户 和密码后就可以登录了 

    比如admin 123  和wangtangfu 123456      (注意不要多加空格)

    其实用户权限都一样  如果你想加用户权限  可以写两个不同的Qframe.java。要做到主窗口里面的功能不同   ,可以屏蔽一些按钮

    比如修改  增加  等功能。然后在不同用户登陆的时候调用不同的Qframe.java,这样应该可以实现权限问题。。。

     

    2:

    还有程序里面应运了一些图片,它们的位置路径位置可能不一样 ,自行参照代码理解修改(很容易的哟);

     

    三:程序运行截图

       登陆窗口

     主窗口

    SQL语句执行  比如select * from student  

    刷新按钮:

    增加按钮:

                                                                                                                                                         添加成功之后刷新即可:

    删除按钮:

    修改按钮:

    查询按钮

     

     

    至此  

          学生管理系统就完成了   

               其中的登陆界面是 我借鉴别人的  

                   文中难免有不足之处,恳请批评指正

                                                                                                                                       2016-7-14

    再此上传不了附件 所以我给链接去在云盘下载 


    首次上传

    (2017_6_12更新)链接: https://pan.baidu.com/s/1aSeKJ8gXxWSElHaTU6_PdA 密码: yqpv

     


    添加myeclipse+mysql 版本:

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k


     


    修改student.sql执行报错 (执行时可以打开偷偷看一眼)

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接:https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

     

    展开全文
  • Java 实现模拟文件管理系统

    千次阅读 热门讨论 2020-02-21 17:18:15
    java 实现模拟文件管理系统 前言   这个模拟文件管理系统是两年前的OS课设,因此代码和本博客叙述可能有所欠缺,若有问题欢迎指正。此博客仅供分享,如需要源代码做参考,请访问我的GitHub账号:...

    java 实现模拟文件管理系统

    前言
      这个模拟文件管理系统是两年前的OS课设,因此代码和本博客叙述可能有所欠缺,若有问题欢迎指正。此博客仅供分享,如需要源代码做参考,请访问我的GitHub账号:https://github.com/Daisy-gj 。本系统我模仿了Windows的文件管理系统,有本机的文件增加、删除,饼状图显示本机各个盘的存储空间、保存所有操作到.TXT文件等等,见下面的表格

    !!!以下内容仅供参考,如需转载请联系我!!!

    1. 系统功能表

    表1在这里插入图片描述

    2. 系统功能结构图

    在这里插入图片描述

    3. 模块功能简介

    (1)本机文件的树型显示模块:

      使用JTree来完成整个结构显示,树节点使用DefaultMutableTreeNode来定义,则可以使用其有关的系统方法。整个树的获取方式,以及点击树节点的监听的事件效果以及体现结果如下流程图所示:
    图1
    (2)操作汇总模块:

      将命令行操作的命令和操作执行时间单独放到一个TextArea中,点击“保存到本地”按钮,就可实现操作文件实时保存到本地。实现功能的流程图如下所示:
    图2(3)命令行输入模块:

      在Panel上设置一个JLable用于命令信息的输入,并将对命令的操作结果显示显示到操作结果面板—使用JTextArea显示。每个命令的执行主要使用java中file类的方法。实现功能的流程图如下所示:
    图3对主要的操作命令的解释如下所示:

    ①改变目录:
      当命令框中输入内容的格式如cd <目录名>时,为改变目录的命令,其后的目录名为想要打开的目录的绝对路径。对输入路径应该先判断是否存在,不存在则输出显示“文件不存在”,若是存在,则更改当前系统的路径,进行切换。该方法的主要代码如下:

    public void cd(String path, String file) {
    		String temp = path + "\\" + file;       //组合成相对路径
    		if (!isRightPath(temp)) {
    			mainFrame.display("没有找到这个文件夹");   //向操作结果面板上输出未找到的提示
    		} else {
    			if (!file.equals(""))
    				currentPath += "\\" + file;     //为系统的当前路径
    		}
    	}
    
    

    ②查看存储空间模块:
      声明Sigar对象,使用其方法获得本机的磁盘的使用情况,并用JFree类的对象绘制本机磁盘使用情况的饼状图。其模块功能流程图如下图所示:
    在这里插入图片描述
    ③新建文件:
      当命令框中输入内容的格式如edit<文件名>时,为新建文件的命令,其后的目录名为想要新建的文件的绝对路径。与系统当前的位置组合成相对路径,先判断该相对路径是否有文件存在,要是有,则输出“文件已经存在”,要是不存在,则按照该相对路径新建一个文件,该方法的主要代码如下:

    public void edit(String file) {
    		if (!currentPath.equals("")) {
    			String temp = currentPath + "\\" + file;
    			File newFile = new File(temp);
    			if (newFile.exists()) {
    				mainFrame.display("文件已经存在!");
    			} else {
    				try {//使用file类的方法新建文件
    					newFile.createNewFile();
    					mainFrame.display("文件创建成功!");
    				} catch (Exception e) {
    					mainFrame.display("文件创建失败:" + e.getMessage());
    				}
    			}
    		}
    	}
    

    ④删除文件:
      当命令框中输入内容的格式如del<文件名>时,为删除文件的命令,其后的目录名为想要删除的文件的绝对路径。与系统当前的位置组合成相对路径,先判断该相对路径是否有目录存在,要是没有,则输出“文件不存在”,要是存在,则删除该文件,该方法的主要代码如下:

    public void del(String file) {
    		if (!file.equals("")) {
    			String temp = currentPath + "\\" + file;
    			File dfile = new File(temp);
    			if (dfile.exists()) {
    				if (dfile.delete()) {
    					mainFrame.display("文件删除成功!");
    				} else {
    					mainFrame.display("文件删除操作出错!");
    				}
    			} else {
    				mainFrame.display("文件不存在");
    			}
    		}
    }
    

    上述代码片段中设计的非库函数的方法都是自定义的,具体参见完整代码中查找出的方法定义

    4. 关键代码及解释

      ①将结果返回输出到操作结果面板上的代码如下,在每个命令行操作后都调用该方法。

    // 在回显框显示结果;
    	public void display(String str) {
    		
    		echoArea.append(str + "\n");
    		echoArea.setCaretPosition(echoArea.getText().length());
    		cmdText.setText("");
    
    	}
    

      ②将命令行进行事件监听,一旦有内容输入且键盘上点击enter键后,就对命令进行执行,并且将命令执行的时间和命令写入操作汇总面板。代码如下:

    private JTextField getCmdText() {
    		if (cmdText == null) {
    			cmdText = new JTextField();
    			cmdText.setColumns(25);
    			
    			// 添加键盘监听事件;
    			cmdText.addKeyListener(new java.awt.event.KeyAdapter() {
    				public void keyTyped(java.awt.event.KeyEvent e) {
    
    				}
                    
    				public void keyPressed(java.awt.event.KeyEvent e) {
    					if (e.getKeyCode() == 10) { 
    						//若键盘上点击enter键,则调用操作执行函数,并将命令和执行时间写入操作汇总面板
    						Date nowTime = new Date(); 
    				        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    
    				        String currTime = dateFormat.format( nowTime );
    						ftext=cmdText.getText();
    						 insArea.setLineWrap(true);        //激活自动换行功能
    						 insArea.append("操作时间"+currTime+"       操作:"+ftext + "\n");
    						// 对文本进行处理;
    						try {
    							cmd.operate(cmdText.getText().trim());
    						} catch (Exception e1) {
    							// TODO Auto-generated catch block
    							e1.printStackTrace();
    						}
    					}
    				}
    				
    			});
    		}
    		return cmdText;
    	}
    

      ③根据输入的命令进行操作的函数,使用switch对命令的种类进行匹配,不同的命令分别调用不同的方法,并将要操作的路径进行传送和处理—将绝对路径与当前系统路径结合组成相对路径。代码如下:

    public void operate(String operation) throws Exception {
    		String[] str = separate(operation);
    		// System.out.println(str.length);
    		String mycmd = "";
    		// mycmd对应的整数代号;
    		int mycmdInt = 0;
    		String path = "";
    		if (str.length == 1) {
    			mycmd = str[0];
    			if (mycmd.indexOf(":") != -1) {// 如果是直接盘符转换;执行些操作;
    				File newFile = new File(mycmd);
    				if (newFile.exists()) {
    					currentPath = mycmd;
    					// System.out.print(getPath());
    					mainFrame.display(getPath());
    					return;
    				}
    			}
    		}
    		if (str.length >= 2) {
    			mycmd = str[0];
    			path = str[1];
    		}
    		// 选择执行命令;
    		// ///System.out.println(mycmd+"\\"+path);
    		for (int i = 0; i < cmd.length; i++) {
    			if (mycmd.equalsIgnoreCase(cmd[i])) {
    				mycmdInt = cmdInt[i];
    			}
    		}
    		switch (mycmdInt) {
    		case 1:
    			cd(currentPath, path);
    			break;
    		case 2:
    			dir(currentPath);
    			break;
    		case 3:
    			md(path);
    			break;
    		case 4:
    			rd(path);
    			break;
    		case 5:
    			edit(path);
    			break;
    		case 6:
    			del(path);
    			break;
    		case 7:
    			exit();
    			break;
    
    		default:
    			mainFrame.display("无效的命令!");
    		}
    		mainFrame.display(getPath());
    	}
    
    

    5. 运行结果

    (1)首先运行程序之后的面板如下所示:

    在这里插入图片描述

    图 5.1 系统界面展示

    (2)点击菜单栏的“系统操作”的“查看存储空间”选项,可查看本机的各个盘片的存储空间的使用情况。

    图

    图 5.2 查看存储空间

    (3)点击菜单栏的“帮助”的“操作说明”选项,可查看改文件管理系统可进行的操作的详细信息。

    图

    图 5.3 操作功能汇总页面

    (4)按照操作说明中的各个操作顺序操作,各个操作结果如下所示。

    在这里插入图片描述

    图 5.4 更改目录结果

    在这里插入图片描述
    图 5.5 显示目录结果

    在这里插入图片描述
    图 5.6 创建目录结果

    在这里插入图片描述
    图 5.7 删除目录结果

    在这里插入图片描述
    图 5.8 新建文件结果

    在这里插入图片描述
    图 5.9 删除文件结果

    按顺序进行功能操作后,操作时间和操作内容都显示在右边的操作汇总栏目,点击“保存到本地”可以将这些记录保存到本机的指定TXT文件中。
    在这里插入图片描述

    图5.10 所有操作汇总面板

    心得体会

      本系统难点在于JTree的结点与本机文件、目录的对应和对结点的点击的监听事件的编写。因为树型结构的限制,所以,不能将所有已经获取的结点都一次性显示在面板上,更加友好的应该是用户点击某个可以向下延伸(有子节点的结点)的结点后,可以实时显示出该节点的子节点的名称—需要点击的监听时间中有遍历的函数,并且能够迭代显示结点信息。为了实现功能,我决定在主面板生成时就生成结点,在点击后,直接查看并在此生成该子节点下的一级结点,并显示在面板上。并且在构造JTree时,需要注意各个结点的父子关系和兄弟关系的划分。
    兄弟关系的划分。
      其次,我使用了JFree去绘制饼状图,显示本机的存储空间的利用情况。对于统计图形的绘制使用JFree组件比Swing会方便很多,且绘制除的图形结果也更加美观。在绘制时,我参考了JFree的API的官方示例代码,所以问题比较少。
      我在设计时使用的Swing的组件也有些使用的注意点,比如菜单栏使用的menubar和组成它的Jmenu、JmenuItem,在使用时要注意声明和定义的顺序,否则很容易出错。有多次编译时就出现了nullpointer错误。
      我将之前一直想尝试的Sigar类对象获取计算机硬件信息、file类获取本机所有文档并用可视化的JTree显示、对文件进行操作、使用JFree绘制饼状图等都进行了实践。虽然在过程中有很多问题,但是经过查阅各个类的API和方法,以及更改程序的结构都得到了解决。
      再次提醒,本程序的源代码在我的GitHub上可下载完整可运行的:https://github.com/Daisy-gj

    展开全文
  • JAVA实现商品信息管理系统

    万次阅读 多人点赞 2019-10-14 20:43:56
    超市商品管理系统 题目要求 超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。 主要完成对商品的销售、统计和简单管理。 这个题目相对简单...

    超市商品管理系统

    点此下载源码

    题目要求

    超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。主要完成对商品的销售、统计和简单管理。这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考。
    功能要求
    (1)销售功能。
      购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。
    (2)商品简单管理功能。
      添加功能:主要完成商品信息的添加。
      查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
      修改功能:可根据查询结果对相应的记录进行修改。
      删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
    (3)统计功能。
      输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
    (7)商品信息存盘:将当前程序中的商品信息存入文件中。
    (8)读出信息:从文件中将商品信息读入程序。

    问题的解决方案

    根据系统功能要求,可以将问题解决分为以下步骤:
    (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
    (2)分析系统中的各个实体及它们之间的关系;
    (3)根据问题描述,设计系统的类层次;
    (4)完成类层次中各个类的描述;
    (5)完成类中各个成员函数的定义;
    (6)完成系统的应用模块;
    (7)功能调试;

    设计思路

    可以对超市商品进行管理的人员主要有超市的商家和顾客,商家可以对超市的商品进行增﹑删﹑改﹑查操作,而顾客只能查询和购买商品。增加商品时,要添加商品的全部信息(编号﹑类别﹑名称﹑价格﹑库存量﹑品牌﹑生产厂家),删除时只需要输入商品编号便可删除该商品的全部信息,修改时要先输入商品编号,然后再确定要修改该商品的哪一个值,以及要将该值修改为什么,查询时只要输入想要查询商品的任意一个信息并选择商品类别便可查出该商品的全部信息。

    实现:

    建立并连接数据库与基本表

    连接数据库时需要用到JDBC,它由Java编程语言编写的类和接口组成,是实现Java与各种数据库连接的关键,提供了将Java与数据库连接起来的程序接口,使用户可以以SQL的形式编写访问请求,然后传给数据库,其结果再由这一接口返回,从而实现对数据库中数据操作的目的。超市商品管理系统采用了MySQL作为数据库,所建的系统数据库名为“goods”。通过需求分析、概念设计与逻辑设计,可知该系统数据库只需建立一个商品表即可

    结构设计

    该系统用于对商品的基本信息进行管理,主要包括添加、修改、查询和删除商品基本信息,为了方便,全部操作均在界面中完成。由此,将该系统结构设计为登录模块、顾客模块、商家模块。由于涉及界面设计,因此调用了java.awt.、java.awt.event.、javax.swing.、java.util.、javax.swing.event.*、java.sql.*等包。

    实现登录模块

    要生成一个界面,可应用AWT知识。设置其名字为商品信息管理系统;设置布局管理器为(null)布局管理器,方便往其中放组件;设置窗口大小和位置,还要设置窗口可见性。
    生成界面后,接下来就需要实现每个功能,第一个功能就是要对操作对象的身份进行选择,这里要用下拉列表的形式进行选择,也可以用单选按钮来完成这个功能。在这项功能中,首先要选择身份,所以要定义一个JLabel来说明,定义完JLabel后,就需要定义一个JComoBox,下拉列表框。 
    输入用户名和密码。需要用两个JLabel来指明需要输入用户名和密码。输入用户名需要定义一个JTextField,单文本框。同时输入文本,但输入密码和输入用户名是不一样的,它需要定义成JPasswordField,它的输出结果为“*****”这样的形式。 
    创建两个按钮,一个是登录按钮,另一个是取消登录按钮,用来输入的用户名和密码及选择的身份进行提交,然后根据选择的身份来选择需要进入那个界面,其代码如下:

    public class info_Manage extends JFrame implements ActionListener{
    	private JLabel username = new JLabel("用户名");
    	private JTextField userName = new JTextField();		
    	private JLabel psw = new JLabel("密码");	
    	private JPasswordField Psw = new JPasswordField();
    	JLabel jlp=new JLabel("身份");
    	String str[]={"顾客","商家"};
    	JComboBox jcb=new JComboBox(str);	
    	private JButton jb1 = new JButton("登录");
    	private JButton jb2 = new JButton("取消");	
    	public info_Manage(){		
    		this.setTitle("商品信息管理系统");
    		this.setLayout(null);
    		username.setBounds(100,50,100,20);
    		this.add(username);		
    		userName.setBounds(150,50,100,20);
    		this.add(userName);
    		psw.setBounds(100,100,100,20);
    		this.add(psw);
    		Psw.setBounds(150,100,100,20);
    		this.add(Psw);
    		jlp.setBounds(100,150,100,20);
    		this.add(jlp);
    		jcb.setBounds(150,150,100,20);
    		this.add(jcb);
    		jcb.addActionListener(this);
    		jb1.setBounds(100,210,60,20);
    		this.add(jb1);
    		jb1.addActionListener(this);
    		jb2.setBounds(200,210,60,20);
    		this.add(jb2);     
    		jb2.addActionListener(this);
    		this.setVisible(true);
    		this.setBounds(10,10,390,330);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    	public static void main(String[] args) {
    		new info_Manage();
    	}
    	public void actionPerformed(ActionEvent e) {		
    		if (e.getSource() == jb1) {
    			String name=userName.getText();
    			String password = new String(Psw.getPassword());
    			if(name.length()==0&&password.length()!=0)
    				JOptionPane.showMessageDialog( null, "请输入用户名");
    			else  if(name.length()!=0&&password.length()==0)
    				JOptionPane.showMessageDialog( null, "请输入密码");
    			else if(name.length()==0&&name.length()==0)
    					JOptionPane.showMessageDialog( null, "请输入用户名和密码");
    			else if(jcb.getSelectedIndex()==0&&name.length()!=0&&name.length()!=0)
    				new custom_Manage();
    			else if(jcb.getSelectedIndex()==1&&name.length()!=0&&password.length()!=0)
    				new seller_Manage();
    		}
    		else if(e.getSource()==jb2)
    			System.exit(0);
    	}
    }
    

    运行结果
    在这里插入图片描述

    实现顾客操作界面

    当选择“顾客”时,单击“登录”按钮就可以进入顾客操作系统了,然后就可以对摸个学生的信息进行输入、修改和删除,也能对同学的信息进行查询和对程序进行查询。当打算离开时,还要有一个选项用来退出学生信息管理系统。根据设计构想,首先要搭建一个界面,然后把顾客的操作分为2大块,分别是商品信息查询和退出登录,其部分代码如下:

    class custom_Manage extends JFrame implements ActionListener{
    	JMenu cm=new JMenu("请选择您需要的操作:");
    	JButton cm1=new JButton("商品信息查询");
    	JButton cm2=new JButton("退出登录");
    	public void actionPerformed(ActionEvent e){
    		 if(e.getSource()==cm1)new SetGoods();
    		else if(e.getSource()==cm2)	this.setVisible(false);
    	}
    }
    

    运行结果
    在这里插入图片描述
    商家操作界面相比顾客操作界面多了商品信息的增加﹑删除和修改功能,其实现方法与顾客操作界面类似,在此不再赘述。

    添加商品信息

    每个按钮都对应着一个操作界面,当点击商家操作下的“增加商品信息”按钮时,将弹出如图所示的界面,它调用了AddGoods.java类实现该功能。通过对“增加信息”这一子菜单设置监听,弹出界面。AddGoods.java的部分代码如下:

    class AddGoods extends JFrame implements ActionListener {
    	JLabel JL = new JLabel("添加基本信息:");
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();
    	
    	JLabel JClass=new JLabel("类别");
    	String str[]={"食品","化妆品","日用品","饮料"};
    	JComboBox jcb=new JComboBox(str);
    	
    	JLabel name = new JLabel("商品名称");
    	JTextField Name = new JTextField();
    	JLabel price=new JLabel("商品价格");
    	JTextField Price = new JTextField();
    	JLabel storage= new JLabel("库存量");
    	JTextField Storage = new JTextField();
    	JLabel brand= new JLabel("品牌");
    	JTextField Brand = new JTextField();
    	JLabel vender = new JLabel("生产厂家");
    	JTextField Vender = new JTextField();
    	
    	JTextField jt=new JTextField(10);
    	JButton Add = new JButton("添加");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    
    	public void actionPerformed(ActionEvent e) {
    		if(e.getSource()==Add) {
    			String snumber=Number.getText();
    			String svender=Vender.getText();
    			String sname=Name.getText();
    			String sprice=Price.getText();
    			String sstorage=Storage.getText();
    			String sbrand=Brand.getText();
    			try {
    				Connection cot=ConnectionFactory.getConnection();
    				Statement stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				int s=jcb.getSelectedIndex();
    				String jc=null;
    				if(s==0)jc="食品";
    				else if(s==1)jc="化妆品";
    				else if(s==2)jc="日用品";
    				else if(s==3)jc="饮料";
    sql="insert into goods values('"+snumber+"','"+jc+"','"+sname+"',"+sprice+","+sstorage+",'"+sbrand+"','"+svender+"')";
    				int n=stm.executeUpdate(sql);
    				if(n!=0)JOptionPane.showMessageDialog(null,"添加成功!");
    				else JOptionPane.showMessageDialog(null,"该商品已存在!");
    			}catch(Exception ee) {
    				ee.printStackTrace();
    			}
    		}
    		if(e.getSource()==Reset) {
    			Number.setText(null);
    			Name.setText(null);
    			Vender.setText(null);
    			Price.setText(null);
    			Storage.setText(null);
    			Brand.setText(null);
    		}
    		if(e.getSource()==Exit) {
    			this.setVisible(false);
    		}
    	}
    }
    

    运行结果在这里插入图片描述

    删除商品信息

    当选择商家操作系统下的删除商品信息的按钮时,将弹出图4-4所示的界面,它调用了DeleteGoodst.java类实现该功能,其部分代码如下:

    class DeleteGoods extends JFrame implements ActionListener {
    	JMenu JL = new JMenu("删除基本信息");
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();
    	JButton Del = new JButton("删除");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    
    public void actionPerformed(ActionEvent e) {
    		if (e.getSource() == Del) {
    			Statement stm=null;
    			Connection cot;
    			try {
    				cot=ConnectionFactory.getConnection();
    				stm= cot.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				sql ="delete from goods where number='"+Number.getText()+"'";
    				int n = stm.executeUpdate(sql);
    				if (n!=0)
    					JOptionPane.showMessageDialog(null, "删除成功!");
    				else
    				JOptionPane.showMessageDialog(null, "删除失败!");
    			} catch (SQLException e1) {
    				JOptionPane.showMessageDialog(null, "此商品不存在!");
    				e1.printStackTrace();
    			}
    		}
    		if (e.getSource() == Reset) {
    			Number.setText(null);
    		}
    		if (e.getSource() == Exit)
    			this.setVisible(false);
    	}
    }                     
    

    如图,只需输入商品编号便可删除该商品的全部信息。
    在这里插入图片描述

    修改商品信息

    当选择商家操作系统下的“修改信息”按钮时,将弹出界面,只要输入商品的编号,然后选择所要修改的该编号商品的列名,最后输入想要将其修改成为的值,即可修改该商品的某一项信息。用了GetGoods.java类实现该功能。其部分代码如下:

    class GetGoods extends JFrame implements ActionListener{
    	JLabel JL = new JLabel("修改商品信息", JLabel.CENTER);
    	JLabel number = new JLabel("请输入您要修改的商品编号");
    	JTextField Number = new JTextField();	
    	JLabel massage = new JLabel("请输入您要修改的商品信息");
    	JTextField Massage = new JTextField();	
    	JLabel afterget=new JLabel("您想要将该列信息修改为:");
    	JTextField Afterget = new JTextField();	
    	JTextField jt=new JTextField(10);
    	JButton Get = new JButton("修改");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    public void actionPerformed(ActionEvent e){
    		if(e.getSource()==Get){
    			Statement stm=null;
    			Connection cot;
    			try{
    				cot=ConnectionFactory.getConnection();				stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				sql="update goods set "+Massage.getText()+"='"+Afterget.getText()+"' where number='"+Number.getText()+"'";
    				int n=stm.executeUpdate(sql);
    				if(n!=0)JOptionPane.showMessageDialog(null,"修改成功!");
    				else JOptionPane.showMessageDialog(null,"修改失败!");
    			}catch(Exception er){
    				er.printStackTrace();
    			}
    		}
    		if(e.getSource()==Reset){
    			Number.setText(null);
    			Massage.setText(null);
    			Afterget.setText(null);
    		}
    		if(e.getSource()==Exit) {
    			this.setVisible(false);
    		}
    	}
    }
    

    运行结果在这里插入图片描述

    查询商品信息

    当选择顾客或者商家操作系统下的“查询商品信息”按钮时,将弹出如图所示的界面,它调用了SetGoods.java类实现该功能,部分代码如下:

    class SetGoods extends JFrame implements ActionListener {
    	JLabel JL = new JLabel("请用以下任意一种方式查询您想要的东西", JLabel.CENTER);
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();	
    	JLabel JClass=new JLabel("类别");
    	String str[]={"无","食品","化妆品","日用品","饮料"};
    	JComboBox jcb=new JComboBox(str);	
    	JLabel name = new JLabel("商品名称");
    	JTextField Name = new JTextField();
    	JLabel price=new JLabel("商品价格");
    	JTextField Price = new JTextField();
    	JLabel brand= new JLabel("品牌");
    	JTextField Brand = new JTextField();
    	JLabel vender = new JLabel("生产厂家");
    	JTextField Vender = new JTextField();	
    	JTextField jt=new JTextField(10);
    	JButton Set = new JButton("查询");
    	JButton purchase = new JButton("购买");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    public void actionPerformed(ActionEvent e) {
    		if (e.getSource() == Set) {
    			Statement stm=null;
    			Connection cot;
    			try{
    				cot=ConnectionFactory.getConnection();
    stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				if(Number.getText()!=null)
    					sql="select * from goods where number='"+Number.getText()+"'";
    				else if(Name.getText()!=null)
    					sql="select * from goods where name='"+Name.getText()+"'";
    				else if(Price.getText()!=null)
    					sql="select * from goods where price='"+Price.getText()+"'";
    				else if(Brand.getText()!=null)
    					sql="select * from goods where brand='"+Brand.getText()+"'";
    				else if(Vender.getText()!=null)
    					sql="select * from goods where vender='"+Vender.getText()+"'";
    				ResultSet rs=stm.executeQuery(sql);
    				while(rs.next()) {
    					System.out.println("商品编号: "+Number.getText());
    					int s=jcb.getSelectedIndex();
    					if(s==0)
    					JOptionPane.showMessageDialog( null, "请选择商品类别!" );
    					else if(s==1)System.out.println("商品类别: 食品");
    					else if(s==2)System.out.println("商品类别: 化妆品");
    					else if(s==3)System.out.println("商品类别: 日用品");
    					else if(s==4)System.out.println("商品类别: 饮料");
    					System.out.println("商品名称: "+rs.getString("name"));
    					System.out.println("价格: "+rs.getString("price"));
    					System.out.println("库存量: "+rs.getString("storage"));
    					System.out.println("品牌: "+rs.getString("brand"));
    					System.out.println("生产厂家: "+rs.getString("vender"));
    				}
    			}catch(Exception ee){
    				JOptionPane.showMessageDialog( null, "该商品不存在!" );
    				ee.printStackTrace();
    			}
    		}
    		else if(e.getSource()==purchase){new Purchase();}
    		else if(e.getSource()==Reset){
    			Number.setText(null);
    			Name.setText(null);
    			Vender.setText(null);
    			Price.setText(null);
    			Brand.setText(null);
    		}
    		else if(e.getSource()==Exit) {
    this.setVisible(false);
    }}}
    

    运行结果在这里插入图片描述

    退出系统

    当在对商品进行增加﹑删除﹑修改和查询的界面时,点击“退出”按钮,即可弹出如图4-7所示界面,它调用了UsingExit.java类实现该功能,部分代码如下:

    class UsingExit extends JFrame implements ActionListener{
    	JLabel Info=new JLabel("确认退出?");
    	JButton JExit=new JButton("确认");
    	JButton Cancel=new JButton("取消");
    public void actionPerformed(ActionEvent e){
    		if(e.getSource()==JExit)
    			System.exit(0);
    		else if(e.getSource()==Cancel)
    			setVisible(false);
    	}
    }
    

    运行结果如图:
    在这里插入图片描述

    点此下载源码

    展开全文
  • JAVA实现UNIX文件管理系统

    千次阅读 2018-07-26 11:05:16
    这个项目是操作系统的期末课设,正好最近在学java,于是就试着拿java写了一个,基本功能也都实现了界面效果也还可以,发出来大家让大家指点一下。另外,第一次发博客,还请各位大神轻喷。 一、UNIX文件系统的基本...

           这个项目是操作系统的期末课设,正好最近在学java,于是就试着拿java写了一个,基本功能也都实现了界面效果也还可以,发出来大家让大家指点一下。另外,第一次发博客,还请各位大神轻喷。

    一、UNIX文件系统的基本原理

           UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。

    二、基本要点思路 

           1、模拟磁盘块的实现:因为文件系统需要从磁盘中读取数据操作数据,在实现时是使用文件来模拟磁盘,一个文件是一块磁盘,在文件中以划分磁盘块那样划分不同的区域,主要有三个区域:位图区,inode索引节点区,磁盘块区。位图区我是使用一个512byte的数组存放,inode区和磁盘块区我采用一种自认为比较巧妙的方法,就是存放对象列表,之前说过,在本次实验的所有的结构都使用对象进行存储,而inode节点和磁盘块就是两个重要的数据结构,在初始化时我实例化32个inode对象和512个block对象(至于这些类的具体定义下面会提到),然后将这些对象加入各自对应的对象列表中,在存储时,使用java的对象序列化技术将这个对象数组存到磁盘中。当使用文件系统时,程序会先从磁盘文件中读取出位图数组,inode对象列表,block对象列表,之后的操作就是通过对这些列表进行修改来实现。使用这种方法可以减小存储的空间(对象序列话技术)而且不需要在使用时进行无用的查找,只要第一次初始化中将这些对象都读取出来。

           2、界面的实现:在实现这个文件系统时使用了两种方案,一种是直接在java控制台来进行输入输出,因为原本想着UNIX文件系统原本也是使用的命令行语句,所以在控制台上实现也很接近。后来在老师的建议下又将整个程序重新修改,改成在UI界面上进行输入输出,这样确实界面美观舒服了不少,只不过两者用的技术很不一样,前者主要使用的是系统的输入输出流,后者使用java监听器。

           3、权限的实现:在实现多用户的权限方面,我给文件和文件夹各定义了三级权限1、访问:在文件中是可以查看文件的内容,在文件夹中是可以进入该文件夹。2、修改:文件中是可以对文件进行编辑,文件夹中是可以在该文件夹中创建新的文件或目录。3、删除:顾名思义。文件或文件夹的创建者拥有最高级别的权限,只有拥有最高级权限的用户才可以给其他用户针对该文件或文件夹进行授权和授权操作。在每次对文件或文件夹进行访问修改删除操作时都会检查当前用户在该文件或文件夹所拥有的权限,只有拥有的权限大于想要实现的权限时才可以进行该操作。

    三、各个方法的详细介绍

          1、format模块

          功能:格式化文件系统,即初始化文件系统,相当于硬盘的格式化。将其中原有的用户及用户下的文件系统全部还原初始状态,即没有任何用户和目录、文件,也就是按设计的文件系统格式重建新的文件系统。

          实现方法:将所有位图区全置为不可用,inode和block结点列表中已修改的对象置空。

          2、LoginUI()模块

          功能:登录的UI界面

          实现方法:创建一个有可输入用户信息的dialog提示框,为按钮添加监听器,可读取用户信息文件的内容并对用户身份进行判断,若成功则调用initUI()方法进入主UI界面,并且对程序中的user属性赋值,失败则重新调用本方法

          3、loginOutUI()模块

          功能:退出登录的界面

          实现方法:将程序中的user属性赋为空值,重新调用loginUI()方法。

          4、init()模块

          功能:读入文件系统

          实现方法:从文件中读出位图数组,inode结点列表和block列表并对自身的相应属性进行赋值

          5、switchCommend()模块

          功能:根据命令行指令调用相应的函数

          实现方法:因为命令行指令每个指令都是由两部分组成,命令指令和操作对象,可以使用java的split方法根据空格将其隔开生成两个子串,根据第一个选择调用的方法第二个子串作为参数传递。

          6、help()模块

          功能:显示帮助信息

          实现方法:字符串

          7、ls()模块

         功能:显示当前目录下的文件和文件夹信息

         实现方法:遍历inode结点列表,找到其parent值为当前目录索引号的结点,显示其名称,并根据该结点的type进行判断,若是目录,显示名称之前加一个点。

         8、clear()模块

         功能:情况屏幕

         实现方法:清空输出文本域

         9、quit()模块

        功能:退出文件系统并保存对其做的修改。

        实现方法:删除原磁盘文件的内容并重新写入

        10、vi()模块

        功能:将打开文件和创建文件合为一体(模仿vim命令行)。

        实现方法:若当前目录中没有指定文件则调用createfile()方法创建新文件,若有,则先调用checkgrant()方法检查授权,若有授权则调用read()方法读取文件

        11、read()模块

        功能:读取文件在磁盘块中的信息

        实现方法:根据索引结点得到其磁盘块索引,并找到对应的磁盘块提取出信息,传入readUI()中显示。

        12、readUI()模块

        功能:显示文件内容

        实现方法:将传入的字符串显示在输出文本域,设置一个编辑按钮并添加监听器,点击后首先调用checkgrant()检查权限,若有权限则进行文本编辑,编辑完成后将编辑后的内容进行保存。这里是最重要的一块,在保存时首先应将文件原本的内容提取出来,将原磁盘块置空并记录下原磁盘块索引,然后将编辑的文本追加上去,算出新文本所需磁盘块数量,若大于原磁盘块数量,则先将原磁盘块写满再从位图区读出空虚磁盘块进行填写,若小于,则先将元磁盘块填些。(这点逻辑花了很久才考虑出来并且完善)

        13、createfile()模块

        功能:创建新文件

        实现方法:在索引结点中根据IsAvaliable属性找到可用inode结点,实例化 一个新对象将其替换,并将其IsAvailable属性置为false。然后进入调用readUI方法。

        14、delete()模块

        功能:删除文件

        实现方法:遍历inode结点列表,根据文件名和当前文件夹编号找到对应结点,先调用grantcheck方法检查权限,若有权限则将该inode结点置空,记录下磁盘块索引,调用delete_block方法删除磁盘块信息。

        15、delete_block()模块

        功能:删除磁盘块内容。

        实现方法:根据磁盘块索引找到对应磁盘块置空

        16、cd()

         功能:将当前目录切换到当前目录的一个子目录下或当前目录的父目录。

        实现方法:遍历inode结点列表,根据文件名和当前目录索引号找到对应结点,检查权限后将当前目录索引号替换成该文件夹的索引号。

        17、mkdir()模块

        功能:创建新的文件夹

        实现方法:检查权限后从inode结点去根据IsAvailiable属性找到可用结点,将其实例化新结点给IsAvailable赋false并替换。

        18、rd()模块

        功能:删除文件夹及其中的文件及文件夹

        实现方法::遍历inode结点列表,根据文件名和当前目录索引号找到对应结点,检查权限后将其置空,并记录下结点索引号,递归删除所有文件及文件夹。

         19、grantUI()模块

         功能:对指定文件或文件夹给用户赋予权限

        实现:遍历inode结点列表,根据文件名和当前目录索引号找到对应结点,检查权限后将用户名和对应的赋予权限记录在该inode结点的grantmap属性中(权限在之后会有介绍)

         20、regrantUI()模块

         功能:对指定文件或文件夹收回某个用户的权限

         实现:遍历inode结点列表,根据文件名和当前目录索引号找到对应结点,检查权限后将用户名和对应的权限在该inode结点中的grantmap属性中删除。

         21、showcur()模块

        功能:模仿UNIX文件系统命令行的前缀。

        实现方法:根据inode结点的iparent属性,从当前文件夹结点开始循环找其上一级结点名称并输出。

        22、showmap()模块

        功能:显示磁盘块使用情况

        实现方法:输出位图数组

        23、showfileMessage()模块

        功能:显示文件信息

        实现方法:遍历inode结点列表,找到可用结点并输出其名称,用户权限等信息

        24、print/println()模块

        功能:将输出信息显示在UI界面上

        实现方法:用JTextArea的append方法为文本域添加信息

        25、checkgrant()方法

        功能:检查权限信息

        实现方法:根据文件名称和当前文件夹索引找到inode结点,遍历其权限列表,查看当前用户及想要实现的功能是否符合权限。

     

    总结

           这个项目的一个特点就是在模拟磁盘存储时使用了对象代替结点、磁盘块,列表代替存储区域,文件代替存储空间的做法,节省空间,操作简单。

           在写代码时也走了很多弯路,有好几次因为一个小小的错误而整晚排bug,现在想起来也是很痛苦,但同时收获也是巨大的,不仅对文件系统的底层原理产生了非常深入的理解,对java编程方面也有了很大的进步与提升,在排除bug的过程也非常考验我的逻辑思维能力,必须有着清醒的头脑,对逻辑有着很深的了解才能快速排除bug。在写代码时遇到的困难也是巨大的,比如说在写磁盘块的写入写出的逻辑也是困扰了我很久,尝试了各种方法,先是试着每次写入都要开辟一个新的磁盘块,但是觉得那样太浪费空间,又试着在每次写入前先将之前的内容取出再和新的内容一块放入新磁盘块中,但这样又太浪费时间,在实际中也不可能会这样做,就这样试了各种方法后才找到现在的先将之前的磁盘块索引记下,然后再重新将新旧内容一起装入的方法,虽然看上去和之前的方法区别好像就那么一点,但是要从前者想到后者可是花了我很多时间。

           另外一个很大的挑战就是从控制台转到UI界面,原本想着仿照UNIX系统的命令行的话,他本来就是在它的控制台中进行输入输出,所以我就直接在java的控制台来进行文件系统的所有操作了。但是听从老师的建议还是改成在UI界面上输出,原本以为会很简单地改好,只是将输出的语句换成显示在文本框。但是实际操作起来才发现和自己想的完全不一样。因为在控制台输出时java调用系统的输入流来获取我的输入信息,所有都在一个线程中进行操作,所以当我要输出时程序会等待我的输入,获取我的输入信息后来进行下一步的操作,但是使用UI界面后,UI界面和主程序是两个线程,这时当遇到程序需要我的输入作为下面步骤的参数的操作时主线程不会等我在UI界面输入后才进行下一步,而是直接进行到需要我指令的步骤,这是就只能报空指针异常。为解决这个方法我考虑了一整个晚上都没有解决的方法,都已经接近绝望了,最后没办法只能进行大改,一个函数一个函数地开始该,将没个需要我指令才能进行操作的语句都放到UI界面的监听器里完成,确保这些指令都在一个线程里执行,这样就不会出现错乱的现象,就这样全部改下来像是重新写了一遍这个程序。不过也多亏这重新写一遍,让我发现了很多之前为发现的bug和可以简化的步骤。

           还有一个就是教训就是自己的考虑不周,在权限方面,原本没考虑那么多,只是把权限用简单的授权码进行区别,有授权码就是已授权,没有就是未授权,这种方法想也知道太过简单粗糙,完全是偷懒行为,在老师的提醒下才重新考虑这个问题,对权限进行分类分级划分,授权收权方式也更加具体合理。

    源码

    https://github.com/ZZYYG/myRepository这个是github的链接,刚开始系统学习编程,github里面也只有一个项目,希望大家多踩踩。

     

    展开全文
  • JAVA实现图书管理系统

    千次阅读 2019-05-21 13:46:12
    设计一个图书管理系统类和用户类,要求具有以下功能: (1). 查询和修改图书信息。 (2). 增加和删除图书信息。 (3). 个人借阅信息查询。 (4). 图书归还功能 (5). 用户管理功能和退出程序功能(注:用户信息可以保存在...
  • Java实现超市库存管理系统

    万次阅读 多人点赞 2018-03-30 22:04:44
    模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。 经过分析,首先需要一个功能菜单,然后输入所选的功能后,调用序号对应的功能方法,实现想要的操作。 具体的步骤如下: 1.完成超市商品初始化。...
  • java实现文件管理

    万次阅读 多人点赞 2019-07-30 09:37:11
    ** 文件管理** 显示“DaSai”目录下以”Ex”开头的文件和目录,写了如下代码,请完善之: import java.io.*; class JavaFilter implements FilenameFilter{ String jf; JavaFilter(String s){ jf=s; } //实现...
  • java实现图书管理系统

    千次阅读 多人点赞 2021-01-03 16:28:31
    图书管理系统。一.项目设计到的知识1.MVC设计模式思想(分包)>项目分包>MVC简单介绍2.GUI(图形化界面)3.JDBC连接MySql数据库4.I/O流5.面向对象思想项目运行效果登录界面主界面读者信息管理读者信息添加读者...
  • java实现银行管理系统

    千次阅读 多人点赞 2019-12-24 15:24:53
    2019年 ---- — --- 12 – 01 ...import java.util.TreeSet; //银行类 public class Bank { private String Bankname = "坑对对银行"; //银行名称 TreeSet<User> holder = null; //银...
  • java语言实现操作系统中的文件管理系统

    万次阅读 多人点赞 2017-12-08 11:50:27
    java语言模拟操作系统中的文件管理系统文件模拟磁盘,数组模拟缓冲区,其中: 1. 支持多级目录结构,支持文件的绝对读路径; 2. 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显式链接方式; 3. ...
  • 系统实现思路 MVC三层架构 整个结构分成五部分,分别是视图层、控制层、模型层以及数据访问对象层(dao层)和公共类。 视图层包括登录界面、主界面、图书类别管理界面、图书类别增加界面、图书类别删除界面、图书...
  • JAVA Web文件管理系统

    热门讨论 2011-01-06 16:34:25
    Web文件管理系统 文件管理系统 教材案例(Web文件管理系统
  • Java swing实现图书管理系统,采用mvc设计模式,由于代码文件较多,就不在此处一一贴出来了,最下面会附上下载地址,下面来看看运行截图: 下载地址:点击下载...
  • 《手把手实现Java图书管理系统》带你从0开始完成毕业设计!附赠源码、文档、数据库脚本等全部资料
  • java简单文件管理系统源码

    千次下载 热门讨论 2007-11-21 14:25:16
    设计一个文件管理方案,模拟一个简单的文件管理系统。要求目录结构为树型结构,目录下可以是目录,也可以是文件。通过该实验是学生可以深刻理解文件系统的概念、所涉及的基本操作及实现时的主要数据结构。 建议用...
  • java 实现通讯录管理系统

    千次阅读 2012-12-20 13:13:40
    最近用java 做了个通讯录管理软件,主界面如上图,相信大家都看出来了,我是模仿的聊天软件来做的,这里用到了mysql,不过唯一缺憾的是没有用到框架。 在做完这个系统之后,我细想了下,没有什么创新的地方,...
  • JQuery EasyUI+Java实现web管理系统

    万次阅读 2016-05-10 20:34:54
    当然了,我的web管理系统就做的很简单也很粗糙了,前端使用常见网站模板样式+JQuery EasyUI组件,前后端使用JSON传送数据,后端语言使用Java,与MySQL数据库交互采用DbUtils。 关于自定义样式 这个主要包
  • java实现学生管理系统(集合ArrayList实现)

    千次阅读 多人点赞 2019-01-12 20:01:41
    学生管理类 StudentManage.java3.主程序 StudentMain.java四、运行结果1.添加学生功能2.查找学生功能3.根据编号更新学生基本信息功能4.根据学生编号删除学生功能5.根据学生编号录入学生各门成绩6.退出系统 一、功能...
  • Java+Swing实现医院管理系统

    千次阅读 多人点赞 2021-05-03 17:11:40
    Java+Swing实现医院管理系统一、系统介绍二、系统展示1.登录页2.主页面3.病人信息录入4.病人信息操作5.就医档案录入6.处方单录入7.就医档案操作8.医生信息录入9.医生信息操作10.科室信息录入11.科室信息操作12.收费...
  • 环境需求 软件需求:jdk1.6(jdk1.8)、...欢迎界面、登录界面、首页、客房预订、客户管理、散客开单、团队开单、系统设置、营业查询等 功能截图 欢迎界面 登录界面 首页 客房预订 客户管理 散客开单 团队开单
  • 1、学生管理系统实现思路 1.1 定义学生类 1.2 主界面的代码编写 1.3 添加学生的代码编写 1.4 查看学生的代码编写 1.5 查看学生的代码编写升级版 1.6 删除学生的代码编写 1.7 修改学生的代码编写 1.8 解决...
  • JAVA实现学生信息管理系统

    千次阅读 多人点赞 2019-04-06 12:36:06
    对学生信息管理系统,要求完成以下基本任务: 1.有良好程序风格(文档注释,函数注释,语句注释)。 2.将功能补充完全(基于文件处理,完成刷新和保存功能)。 3.将学生信息改为更好的数据组织,而非离散形式...
  • java实现的简单文件管理系统

    万次阅读 热门讨论 2007-10-26 13:57:00
    设计一个文件管理方案,模拟一个简单的文件管理系统。要求目录结构为树型结构,目录下可以是目录,也可以是文件。通过该实验是学生可以深刻理解文件系统的概念、所涉及的基本操作及实现时的主要数据结构。 
  • Java GUI实现图书管理系统

    千次阅读 2020-07-08 12:32:16
    2.2 Java语言介绍… 3 2.3 MySQL简介… 3 2.4 JDBC技术简介… 4 3 系统需求分析… 5 3.1 系统可行性分析… 5 3.2 系统需求分析… 5 3.2.1 登录、注册界面需求分析… 5 3.2.2 用户功能需求分析… 6 3.2.3 管理员功能...
  • java实现学生管理系统(集合HashMap实现)-学号唯一

    千次阅读 多人点赞 2019-01-12 20:53:03
    学生管理类 StudentManage.java3.主程序 StudentMain.java四、运行结果1.添加学生功能2.查找学生功能3.根据编号更新学生基本信息功能4.根据学生编号删除学生功能5.根据学生编号录入学生各门成绩6.退出系统 一、功能...
  • 基于java实现的数据库管理系统

    千次阅读 2019-07-17 23:20:12
    通过对数据库系统原理的学习,掌握数据库管理系统的运行原理,尝试在给定的DBF文件操作框架的物理储存基础上通过java建立一个数据库管理系统,以更好的温习学习的知识。 基本功能如下: 实现创建表,并把约束...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 614,778
精华内容 245,911
关键字:

java实现文件管理系统

java 订阅