花店管理系统

本文介绍了使用Java开发的一个花店管理系统,系统包括欢迎窗口、主窗口、管理窗口等功能,涉及GUI设计、数据存储和业务逻辑处理。通过创建多个类和包,实现了不同模块的分层设计,包括数据访问、服务和控制器等。
摘要由CSDN通过智能技术生成

前段时间期末,老师让仿照水果管理系统写一个系统,基于GUI,要在水果管理系统的基础上增添许多的功能,所以我写了一个花店管理系统。增加了退出系统、花的等级、颜色等的功能。
(一)创建项目,实现系统欢迎窗口类的定义
在Eclipse中,创建一个名称为flowertore的Java Project,在项目的src目录下创建一个名称为cn.itcast. flowerstore.view的包,并在包中创建一个继承自JFrame的抽象类AbstractMainFrame,在类中实现了系统欢迎窗口的显示,代码如下:

package cn.itcast.flowerstore.view;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import cn.itcast.flowerstore.tools.GUITools;
/*
 * 欢迎界面的抽象类
 */
public abstract class AbstractMainFrame extends JFrame {
   
	//组件
	private JLabel titleLabel = new JLabel(new ImageIcon("flower.jpg"));
	private JButton btn = new JButton("进入系统");//顾客按钮
	private AbstractButton btnPanel;
	//构造方法
	public  AbstractMainFrame() {
   
		//初始化界面操作
		this.init();
		//添加组件
		this.addComponent();
		//添加监听器
		this.addListener();
	}	
	//初始化操作
	private void init () {
   		
	    this.setTitle ("花店欢迎您");//标题	    
	    this.setSize(600, 400); //窗口的大小	    
	    GUITools.center(this);//窗口的位置,在屏幕中央显示
	    GUITools.setTitleImage(this, "title.png");//设置窗口的小图标
	    this.setResizable(false);//窗口大小固定
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	//关闭窗口默认操作        	
	}
	//添加组件
	private void addComponent() {
   
		//窗体使用的默认的边界布局,北区放入图片
		this.add(titleLabel,BorderLayout.NORTH);
		//创建JPanel面板对象
		JPanel btnPanel = new JPanel ();	
		//设置面板的布局方式为没有布局管理器
	    btnPanel.setLayout(null);
		//设置按钮的位置与大小
		btn.setBounds(240, 20, 120, 50);
		//添加按钮到面板中
		btnPanel.add(btn);
		//添加面板到窗体中
		this.add(btnPanel);
	}
	//添加监听器
	private void addListener () {
   
		btn. addActionListener (new ActionListener() {
   
			@Override
			public void actionPerformed (ActionEvent e) {
   
				//展示管理员界面			
				showAdminDialog() ;	
			  }					  		
         });
    }
	//展示管理员界面
	public abstract void showAdminDialog();
}

(二)定义主窗口测试类

  1. 系统欢迎窗口类编写完成之后,可以编写一个测试类来验证其效果和功能。在src下创建一个名称为cn.itcast. flowerstore.test的包,在包中创建一个名称为AbstractMainFrameTest的类,该类继承了抽象类AbstractMainFrame,其实现代码如下:
package cn.itcast.flowerstore.test;
import cn.itcast.flowerstore.view.AbstractMainFrame;
/**
 * 主界面的测试类
 */
public class AbstractMainFrameTest extends AbstractMainFrame {
   
	public static void main(String[] args) {
   
		//创建界面并显示
		new AbstractMainFrameTest ().setVisible (true) ;
	}
	@Override
	public void showAdminDialog() {
   
		System. out.println("进入管理界面");	
	}
}

  1. 在项目的src目录下,创建一个名称为cn.itast.flowerstre.tools的包,在该包中创建一个名称为GUITools的类,类中定义了窗口组件居中的方法以及显示窗口图标的方法,其编写代码如下:
package cn.itcast.flowerstore.tools;
import java.awt.Component;
import java.awt.Toolkit;
import javax.swing.JFrame;
/**
 * 工具类
 */
public class GUITools {
   
	//JAVA提供的GUI默认工具类对象
	public static Toolkit kit = Toolkit.getDefaultToolkit();
	//将指定组件屏幕居中
	public static void center (Component c) {
   
		int x = (kit.getScreenSize().width - c.getWidth())/2; 
		int y = (kit.getScreenSize().height - c.getHeight())/2;
		c.setLocation(x,y) ;
	}
	//为指定窗口设置图标标题
	public static void setTitleImage(JFrame frame, String titlelconPath) {
   
		frame.setIconImage(kit.createImage(titlelconPath));
	}
}
定义完工具类以后,就可以使用该工具类使欢迎窗口居中
//初始化操作
	private void init () {
   		
	    this.setTitle ("花店欢迎您");//标题	    
	    this.setSize(600, 400); //窗口的大小	    
	    GUITools.center(this);//窗口的位置,在屏幕中央显示
	    GUITools.setTitleImage(this, "title.png");//设置窗口的小图标
	    this.setResizable(false);//窗口大小固定
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口默认操作    	
	}

(三) 定义花店管理窗口类
在cn.itcast. flowerstore.view包中,创建一个 名称为AbstractAdminDialog的类,该类是一个抽象类,继承了JDialog,其实现代码如下:

package cn.itcast.flowerstore.view;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.ScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax. swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import cn.itcast.flowerstore.tools.GUITools;
/**
 *管理窗口类
 */
public abstract class AbstractAdminDialog extends JDialog {
   
	//定义界面使用到的组件作为成员变量
	private JLabel tableLabel = new JLabel ("鲜花列表");//鲜花列表标题
	private JScrollPane tablePane = new JScrollPane();//滚动视口
	protected JTable table = new JTable(); //鲜花列表
	private JLabel numberLabel = new JLabel ("鲜花编号");//编号标题
	private JLabel nameLabel = new JLabel ("
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
花让人赏心悦目,也让人清新恬静,始而越来越多的年轻女性将花店作为自己的事业。然而对于很多花店,店主往往都是以人工的方式进行管理店的业务,如采购,销售经常是以笔录的方式进行记录,这往往使很多记录不被完善的保存,而且效率低。 针对以上问题,本文研究开发了小型花店管理系统。系统是使用C#语言与SQL server数据库开发技术编写而成。而引用该系统能提高花店运作能力,使管理更规范化,系统化,科学化。系统主要是针对店主和普通员工这两种不同的用户进行需求分析。该系统主要分为五个模块:库存管理模块、用户管理员管理模块、供应管理模块、花信息管理模块、客户订购管理模块。其中,管理员拥有管理查看所有内容。库存管理主要包括花数量,花种类的新增、修改、查询、删除等功能;用户管理员管理主要包括操作员和用户权限的新增、修改、查询、删除等功能;供应管理主要包括供应商和花编号等内容的新增、修改,查询和删除等功能;花信息管理主要包括鲜花编号和鲜花名称的新增、修改,查询和删除等功能。客户订购管理主要包括顾客编号和花编号等内容的新增、修改,查询和删除等功能 通过对系统的分析、设计和测试表明该小型花店管理系统结构较完善,具有一定的实用性和稳定性。相比与传统的人工管理方式,该系统对于店主管理花店的负担,提高花店运行效率
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值