Oracle课程设计报告-仓库管理系统_第1页
Oracle课程设计报告-仓库管理系统_第2页
Oracle课程设计报告-仓库管理系统_第3页
Oracle课程设计报告-仓库管理系统_第4页
Oracle课程设计报告-仓库管理系统_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle课程设计报告--仓库管理系统Oracle课程设计实验题目:仓库管理系统专业:计算机应用与技术班级:学号:20110030226姓名:胡强指导教师:王芳Oracle课程设计报告--仓库管理系统一、

系统描述

仓库管理系统的功能:

、产品入仓管理:在货物送到仓库时,对货物信息进行了解并将相关信息输入到数据库

中,同时更新数据库。

2)、产品出仓管理:在货物运出仓库时,进行货物信息统计并将数据保存到数据库中,同

时更新数据库。

仓库货物信息提醒:当货物少于某一规定的值时,或者货物保质期将至时将发出

提醒。

、借出管理:凭借条借出,然后能够还库。

5)、查询修改:管理员可以进行一系列查询:查询货物类别及货物的信息、数量和货

物流动的规则(对货物出仓进仓的要求);并可以对以上查询进行修改;可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。

6)、初始化库存设置:设置库存的初始化值,库存的上下警戒限制。7)、盘库情况:反映没有、年的库存情况;二、

系统需求分析

利用用例图、类图、E-R图对系统进行需求分析。

仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。仓库管理系统用例图

类图

表1:产品信息表PRO

字段名数据类型长度约束说明PROIDNUMBER11主码产品编号PRONAMEVARCHAR220NOTNULL产品名称PRODRESSVARCHAR250产品地址DREPHONENUMBER20产品地址号码BDATENUMBER5NOTNULL保质天数DEMOVARCHAR2100说明表2:产品信息管理PRO_MAN

字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOTNULL产品数量DEMOVARCHAR2100说明表3:产品出库管理C_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号CDATEDATE主码出库日期BIRDATEDATENOTNULL生产日期ZNUMNUMBER10NOTNULL出库数量DEMOVARCHAR2100说明表4:产品入库日期R_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号RDATEDATE主码入库日期BIRDATEDATENOTNULL生产日期RNUMNUMBER10NOTNULL入库数量DEMOVARCHAR2100说明表5:产品仓库限制规则字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOTNULL产品数量DEMOVARCHAR2100说明表6:管理员表ADMIN字段名数据类型长度约束说明IDNUMBER11主码管理员编号USARNAMEVARCHAR210NOTNULL管理员账号PASSORDVARCHAR211NOTNULL账号密码E-R图三、

数据库对象设计

1、表设计

通过对仓库管理系统的业务分析及查询资料了解,设计该系统的6个关系表,详情见上边类图部分。

2、序列设计

为了方便仓库产品管理,在数据库中用以下序列产生相应编号

C_R_VIEW:产生产品编号,起始值100。

3、视图设计

为了方便仓库管理员查询出入库情况、每个生产日期的库存信息及产品的总数量,创建下列视图。

(1)创建名为“C_R_PRO_VIEW”的视图,用于查看产品的出入库汇总情况,包

括出库的产品编号,入库的产品编号,产品名称,入库日期,出库日期,出库产品

的生产日期,入库产品的生产日期,出库数量,入库数量。

(2)创建名为“SNUM”的视图,用于查询一种产品的总库存量,包括产品编号,产品总数量。

(3)创建名为“ZNUM_PRO_VIEW”的视图,用于查询产品的库存信息,包括不同

生产日期的库存量4、PL/SQL功能模块设计

利用PL/SQL程序创建下列各种数据库对象。

(1)创建一个当仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产日期及保质期的函数。

(2)创建一个计算距保质期时间的存储过程。

(3)创建一个计算出库后数量的函数。

(4)创建一个计算入库后数量的函数。

四、

数据库对象创建

描述数据库对象中表的创建、序列的创建、视图的创建、存储过程的创建,触发器的创建等内容,实现系统的基本功能。

1、表的创建

(1)

产品信息PRO:

CREATE

TABLE

"USERS"."PRO"

(

"PROID"

NUMBER(11)

NOT

NULL

,

"PRONAME"

VARCHAR2(20)

NOT

NULL

,

"PRODRESS"

VARCHAR2(50),

"DREPHONE"

NUMBER(20),

"BDATE"

NUMBER(5)

NOT

NULL

,

"DEMO"

VARCHAR2(100),

PRIMARY

KEY

("PROID")

VALIDATE

)

TABLESPACE

"USERS"

(2)仓库产品管理PRO_MAN

CREATE

TABLE

"USERS"."PRO_MAN"

(

"PROID"

NUMBER(11)

NOT

NULL

,

"BIRDATE"

DATE

NOT

NULL

,

"ZNUM"

NUMBER(20)

NOT

NULL

,

"DEMO"

VARCHAR2(100),

PRIMARY

KEY

("PROID",

"BIRDATE")

VALIDATE

,

FOREIGN

KEY

("PROID")

REFERENCES

"SYS"."PRO"

("PROID")

VALIDATE

)

TABLESPACE

"USERS"

(3)创建入库管理表R_PRO

CREATE

TABLE

"USERS"."R_PRO"

(

"PROID"

NUMBER(11)

NOT

NULL

,

"RDATE"

DATE

NOT

NULL

,

"BIRDATE"

DATE

NOT

NULL

,

"RNUM"

NUMBER(10)

NOT

NULL

,

"DEMO"

VARCHAR2(100),

PRIMARY

KEY

("PROID",

"RDATE")

VALIDATE

,

FOREIGN

KEY

("PROID")

REFERENCES

"SYS"."PRO"

("PROID")

VALIDATE

)

TABLESPACE

"USERS"

(4)出库产品管理C_PRO

CREATE

TABLE

"USERS"."C_PRO"

(

"PROID"

NUMBER(11)

NOT

NULL

,

"CDATE"

DATE

NOT

NULL

,

"BIRDATE"

DATE

NOT

NULL

,

"CNUM"

NUMBER(10)

NOT

NULL

,

"DEMO"

VARCHAR2(100),

PRIMARY

KEY

("PROID",

"CDATE")

VALIDATE

,

FOREIGN

KEY

("PROID")

REFERENCES

"SYS"."PRO"

("PROID")

VALIDATE

)

TABLESPACE

"USERS"

(5)管理规则PRO_LIM

CREATE

TABLE

"USERS"."PRO_LIM"

(

"PROID"

NUMBER(11)

NOT

NULL

,

"MINUM"NUMBER(10)

NOT

NULL

,

"MAXUM"

NUMBER(10)

NOT

NULL

,

"LBIRDATE"

NUMBER(5)

NOT

NULL

,

"DEMO"

VARCHAR2(100),

PRIMARY

KEY

("PROID")

VALIDATE

,

FOREIGN

KEY

("PROID")

REFERENCES

"SYS"."PRO"

("PROID")

VALIDATE

)

TABLESPACE"USERS"

(6)管理员表ADMIN

CREATE

TABLE

"USERS"."ADMIN"

(

"ID"

NUMBER(11)

NOT

NULL

,

"USERNAME"

VARCHAR2(10)

NOT

NULL

,

"PASSWORD"

VARCHAR2(11)

NOT

NULL

,

PRIMARY

KEY

("ID")

VALIDATE

)

TABLESPACE

"USERS"

2、序列的创建

CREATE

SEQUENCE

C_R_VIEW

NOCYCLE

NOORDER

NOCACH

NOMAXVALUE

MINVALUE

100

INCREMENT

BY

1

START

WITH

100

3、视图的创建

1)产品的出入库情况C_R_PRO_VIEW

CREATE

OR

REPLACE

VIEW

C_R_PRO_VIEW

AS

SELECT

CPROID,RPROID,PRONAME,RDATE,CDATE,CBIRDATE,RBIRDATE,CNUM,RNUM

FROM

PRO,

(SELECT

C_PRO.PROID

AS

R_PRO.PROIDR_PRO.PROID

AS

RPROID,RDATE,CDATE,C_PRO.BIRDATE

AS

CBIRDATE,R_PRO.BIRDATE

AS

RBIRDATE,CNUM,RNUM

FROM

C_PRO

FULL

JOIN

R_PRO

ON

C_PRO.PROID=R_PRO.PROID

and

CDATE=RDATE

ORDER

BY

RPROID)

R_C

WHERE

PRO.PROID=CPROID

AND

PRO.PROID=RPROID

2)产品总数量:SNUM

CREATE

OR

REPLACE

VIEW

SNUM

AS

SELECT

PRO.PROID,SUM(ZNUM)

SNUM

FROM

PRO,PRO_MAN

WHERE

PRO.PROID=PRO_MAN.PROID

GROUP

BY

PRO.PROID

3)产品的库存信息:ZNUM_PRO_VIEW

CREATE

OR

REPLACE

VIEW

ZNUM_PRO_VIEW

AS

SELECT

PRO_MAN.PROID,PRONAME,BIRDATE,BDATE,ZNUM

FROM

PRO,PRO_MAN

WHER

PRO.PROID=PRO_MAN.PROID4、PL/SQL程序设计(1)仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产日期保质期来:CREATE

OR

REPLACE

FUNCTION

MIN_MAX_NUM_SHOW

(

V_PROID

NUMBER,V_BIRDATE

OUT

DATE,V_BDATE

OUT

NUMBER)

RETURN

NUMBER

AS

V_SNUM

NUMBER;V_MINUM

NUMBER;V_MAXUM

NUMBER;

BEGIN

SELECT

SUM(ZNUM)

INTO

V_SNUM

FROM

PRO_MAN

WHERE

PROID=V_PROID;

SELECT

MINUM,MAXUM

INTO

V_MINUM,V_MAXUM

FROM

PRO_LIM

WHERE

PROID=V_PROID;

SELECT

BIRDATE

INTO

V_BIRDATE

FROM

PRO_MAN

WHERE

PROID=V_PROID;

SELECT

BDATE

INTO

V_BDATE

FROM

PRO

WHERE

PROID=V_PROID;

IF

V_SNUM-V_MINUM<=0

OR

V_SNUM-V_MAXUM>=0

THEN

RETURN

V_SNUM;

END

IF;

END;

(2)计算距保质期时间:

CREATE

OR

REPLACE

PROCEDURE

PRO_B(V_PROID

NUMBER)

AS

V_DAYS

NUMBER;

V_LBIRDATE

NUMBER;

CURSOR

C_BIRDATE

IS

SELECT

BIRDATE

FROM

PRO_MAN

WHERE

PROID=V_PROID;

BEGIN

SELECT

LBIRDATE

INTO

V_LBIRDATE

FROM

PRO_LIM

WHERE

PROID=V_PROID;

FOR

V_BIRDATE

IN

C_BIRDATE

LOOP

IF

V_DAYS:=(SYSDATE-V_BIRDATE)>=V_LBIRDATE

THEN

DBMS_OUTPUT.PUTLINE(V_DAYS);

END

IF;END

LOOP;

END;(4)计算入库后数量:

CREATE

OR

REPLACE

FUNCTION

A_R_NUM(

V_PROID

NUMBER,V_BIRDATE

OUT

DATE)

RETURN

NUMBR

AS

V_RZNUM

NUMBER;

BEGIN

SELECT

BIRDATE

INTO

V_BIRDATE

FROM

R_PRO

WHERE

PROID=V_PROID;

SELECT

ZNUM+RNUM

INTO

V_RZNUM

FROM

(

SELECT

PRO_MAN.PROID,

PRO_MAN.BIRDATE

RBIRDATE,RNUM,ZNUM

FROM

R_PRO,PRO_MAN

WHERE

PRO_MAN.PROID=R_PRO.PROID

AND

PRO_MAN.BIRDATE=R_PRO.BIRDATE)

A_R

WHERE

PROID=V_PROID

AND

A_R.RBIRDATE=V_BIRDATE;

RETURN

V_RZNUM;END;附Java源代码:package仓库管理;importjava.awt.BorderLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JButton;publicclassjiemian2extendsJFrame{ privateJPanelcontentPane; publicJPanelgetContentPane(){ returncontentPane; } /** *Launchtheapplication. */ publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){ publicvoidrun(){ try{ jiemian2frame=newjiemian2(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); } /** *Createtheframe. */ publicjiemian2(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); }}package仓库管理;importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JTextField;importjavax.swing.JLabel;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;publicclassjiemian1extendsJFrameimplementsActionListener{ privateJPanelcontentPane; jiemianjm; CardLayoutcl; JPaneljp; jiemian2jm2; JPaneljp2; privatestaticdoublechushi,up,down; publicJPanelgetContentPane(){ returncontentPane; } publicvoidsetContentPane(JPanelcontentPane){ this.contentPane=contentPane; } privateJTextFieldtext1; privateJLabellabel_1; privateJLabellabel_2; privateJTextFieldtext2; privateJTextFieldtext3; privateJButtonjb1; privateJButtonjb2; /** *Launchtheapplication. */ /** *Createtheframe. */ publicjiemian1(){ jp=jiemian.getJp(); cl=jiemian.getCl(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); text1=newJTextField(); text1.setBounds(193,22,192,29); contentPane.add(text1); text1.setColumns(10); JLabellabel=newJLabel("\u5E93\u5B58\u521D\u59CB\u5316\u503C\uFF1A"); label.setFont(newFont("微软雅黑",Font.PLAIN,16)); label.setBounds(46,21,113,29); contentPane.add(label); label_1=newJLabel("\u4E0A\u8B66\u6212\u7EBF\uFF1A"); label_1.setFont(newFont("微软雅黑",Font.PLAIN,16)); label_1.setBounds(79,70,80,29); contentPane.add(label_1); label_2=newJLabel("\u4E0B\u8B66\u6212\u7EBF\uFF1A"); label_2.setFont(newFont("微软雅黑",Font.PLAIN,16)); label_2.setBounds(79,125,80,29); contentPane.add(label_2); text2=newJTextField(); text2.setColumns(10); text2.setBounds(193,75,192,29); contentPane.add(text2); text3=newJTextField(); text3.setColumns(10); text3.setBounds(193,130,192,29); contentPane.add(text3); jb1=newJButton("\u786E\u5B9A"); jb1.setFont(newFont("华文琥珀",Font.PLAIN,16)); jb1.setBounds(76,194,122,39); contentPane.add(jb1); jb2=newJButton("\u8FD4\u56DE"); jb2.setFont(newFont("华文琥珀",Font.PLAIN,16)); jb2.setBounds(262,194,122,39); contentPane.add(jb2); jb1.addActionListener(this); jb2.addActionListener(this); jm2=newjiemian2(); jp2=jm2.getContentPane(); jp.add(jp2,"two"); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getSource()==jb1) { inti=0; try { chushi=newDouble(text1.getText().toString()); up=newDouble(text2.getText().toString()); down=newDouble(text3.getText().toString()); jm.m1_mi1.setEnabled(true); jm.m1_mi2.setEnabled(true); jm.m2_mi1.setEnabled(true); jm.m2_mi2.setEnabled(true); jm.m2_mi3.setEnabled(true); jm.m3_mi1.setEnabled(true); jm.m3_mi2.setEnabled(true); JOptionPane.showMessageDialog(null,"初始化成功!"); } catch(Exceptione1) { JOptionPane.showMessageDialog(null,"数据不能为空!"); i=1; } if(i!=1) cl.show(jp,"two"); } if(e.getSource()==jb2) { cl.show(jp,"main"); } }}package仓库管理;importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JTextField;importjavax.swing.JLabel;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;publicclassjiemian1extendsJFrameimplementsActionListener{ privateJPanelcontentPane; jiemianjm; CardLayoutcl; JPaneljp; jiemian2jm2; JPaneljp2; privatestaticdoublechushi,up,down; publicJPanelgetContentPane(){ returncontentPane; } publicvoidsetContentPane(JPanelcontentPane){ this.contentPane=contentPane; } privateJTextFieldtext1; privateJLabellabel_1; privateJLabellabel_2; privateJTextFieldtext2; privateJTextFieldtext3; privateJButtonjb1; privateJButtonjb2; /** *Launchtheapplication. */ /** *Createtheframe. */ publicjiemian1(){ jp=jiemian.getJp(); cl=jiemian.getCl(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); text1=newJTextField(); text1.setBounds(193,22,192,29); contentPane.add(text1); text1.setColumns(10); JLabellabel=newJLabel("\u5E93\u5B58\u521D\u59CB\u5316\u503C\uFF1A"); label.setFont(newFont("微软雅黑",Font.PLAIN,16)); label.setBounds(46,21,113,29); contentPane.add(label); label_1=newJLabel("\u4E0A\u8B66\u6212\u7EBF\uFF1A"); label_1.setFont(newFont("微软雅黑",Font.PLAIN,16)); label_1.setBounds(79,70,80,29); contentPane.add(label_1); label_2=newJLabel("\u4E0B\u8B66\u6212\u7EBF\uFF1A"); label_2.setFont(newFont("微软雅黑",Font.PLAIN,16)); label_2.setBounds(79,125,80,29); contentPane.add(label_2); text2=newJTextField(); text2.setColumns(10); text2.setBounds(193,75,192,29); contentPane.add(text2); text3=newJTextField(); text3.setColumns(10); text3.setBounds(193,130,192,29); contentPane.add(text3); jb1=newJButton("\u786E\u5B9A"); jb1.setFont(newFont("华文琥珀",Font.PLAIN,16)); jb1.setBounds(76,194,122,39); contentPane.add(jb1); jb2=newJButton("\u8FD4\u56DE"); jb2.setFont(newFont("华文琥珀",Font.PLAIN,16)); jb2.setBounds(262,194,122,39); contentPane.add(jb2); jb1.addActionListener(this); jb2.addActionListener(this); jm2=newjiemian2(); jp2=jm2.getContentPane(); jp.add(jp2,"two"); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getSource()==jb1) { inti=0; try { chushi=newDouble(text1.getText().toString()); up=newDouble(text2.getText().toString()); down=newDouble(text3.getText().toString()); jm.m1_mi1.setEnabled(true); jm.m1_mi2.setEnabled(true); jm.m2_mi1.setEnabled(true); jm.m2_mi2.setEnabled(true); jm.m2_mi3.setEnabled(true); jm.m3_mi1.setEnabled(true); jm.m3_mi2.setEnabled(true); JOptionPane.showMessageDialog(null,"初始化成功!"); } catch(Exceptione1) { JOptionPane.showMessageDialog(null,"数据不能为空!"); i=1; } if(i!=1) cl.show(jp,"two"); } if(e.getSource()==jb2) { cl.show(jp,"main"); } }}package仓库管理;importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JLabel;importjava.awt.Font;importjavax.swing.JTextField;importjavax.swing.JButton;importjava.awt.event.ActionListener;importjava.awt.event.ActionEvent;publicclassjiemian3extendsJFrameimplementsActionListener{ privateJPanelcontentPane; privateJTextFieldtextField; privateJTextFieldtextField_1; privateJTextFieldtextField_2; privateJTextFieldtextField_3; jiemianjm; CardLayoutcl; JPaneljp; privateJButtonjb1,jb2; /** *Launchtheapplication. */ /** *Createtheframe. */ publicjiemian3(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); JLabellabel=newJLabel("\u5165\u5E93\u4EA7\u54C1\u540D\u79F0\uFF1A"); label.setFont(newFont("黑体",Font.BOLD,15)); label.setBounds(38,19,127,28); contentPane.add(label); JLabellabel_1=newJLabel("\u5165\u5E93\u4EA7\u54C1\u6570\u91CF\uFF1A"); label_1.setFont(newFont("黑体",Font.BOLD,15)); label_1.setBounds(38,57,127,28); contentPane.add(label_1); JLabellabel_2=newJLabel("\u5165\u5E93\u4EA7\u54C1\u7F16\u53F7\uFF1A"); label_2.setFont(newFont("黑体",Font.BOLD,15)); label_2.setBounds(38,95,114,28); contentPane.add(label_2); JLabellabel_3=newJLabel("\u5165\u5E93\u4EA7\u54C1\u4EF7\u683C\uFF1A"); label_3.setFont(newFont("黑体",Font.BOLD,15)); label_3.setBounds(38,133,114,28); contentPane.add(label_3); textField=newJTextField(); textField.setFont(newFont("黑体",Font.BOLD,15)); textField.setBounds(196,22,162,21); contentPane.add(textField); textField.setColumns(10); textField_1=newJTextField(); textField_1.setFont(newFont("黑体",Font.BOLD,15)); textField_1.setColumns(10); textField_1.setBounds(196,60,162,21); contentPane.add(textField_1); textField_2=newJTextField(); textField_2.setFont(newFont("黑体",Font.BOLD,15)); textField_2.setColumns(10); textField_2.setBounds(196,98,162,21); contentPane.add(textField_2); textField_3=newJTextField(); textField_3.setFont(newFont("黑体",Font.BOLD,15)); textField_3.setColumns(10); textField_3.setBounds(196,136,162,21); contentPane.add(textField_3); jb1=newJButton("\u5165\u5E93"); jb1.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ } }); jb1.setFont(newFont("黑体",Font.BOLD,15)); jb1.setBounds(72,179,111,34); contentPane.add(jb1); jb2=newJButton("\u8FD4\u56DE"); jb2.setFont(newFont("黑体",Font.BOLD,15)); jb2.setBounds(247,179,111,34); contentPane.add(jb2); cl=jm.getCl(); jp=jm.getJp(); jp.add(contentPane,"three"); jb1.addActionListener(this); jb2.addActionListener(this); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getSource()==jb1) { JOptionPane.showMessageDialog(null,"入库成功!"); } if(e.getSource()==jb2) { cl.show(jp,"two"); } }}package仓库管理;importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JLabel;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JTextField;importjavax.swing.JButton;publicclassjiemian4extendsJFrameimplementsActionListener{ privateJPanelcontentPane; privateJTextFieldtextField; privateJTextFieldtextField_1; privateJTextFieldtextField_2; jiemianjm; CardLayoutcl; JPaneljp; JButtonjb1,jb2; /** /** *Launchtheapplication. */ /** *Createtheframe. */ publicjiemian4(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); JLabellabel=newJLabel("\u51FA\u5E93\u4EA7\u54C1\u540D\u79F0\uFF1A"); label.setFont(newFont("黑体",Font.BOLD,15)); label.setBounds(36,35,112,28); contentPane.add(label); textField=newJTextField(); textField.setFont(newFont("黑体",Font.BOLD,15)); textField.setColumns(10); t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论