版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流行业仓储管理员货物存储与出库效率绩效分析表
- 市场营销经理化妆品推广绩效考核表
- 苯酐装置操作工安全技能评优考核试卷含答案
- 办公室会议议程制定五步法方案
- 配膳员安全管理评优考核试卷含答案
- 活性炭酸洗工岗前基础培训考核试卷含答案
- 油墨加工工工作技巧测试考核试卷含答案
- 果露酒酿造工安全防护考核试卷含答案
- 环保工程师绿色环保行业绩效评定表
- 压缩机装配调试工岗中工作合规考核试卷含答案
- 现代农业机械装备选型标准与全生命周期运维策略
- 假性痛风诊疗专家共识(2026版)
- 2026安全生产法完整版
- 2025至2030中国有机食品行业市场现状消费趋势及渠道布局战略研究报告
- 光遗传学技术
- 2026年基于GIS的地质灾害评估与分析
- 2026年陕西事业编制招聘在哪里看备考题库附答案
- 前程无忧mat管理能力测试题库35题
- 福建开放大学2025年《犯罪学》形成性考核1-4答案
- 性激素六项解读课件
- GJB2744A-2019钛及钛合金自由锻件和模锻件规范
评论
0/150
提交评论