java实训报告

郑州科技学院

JAVA课程设计

课程设计题目 商店售货管理系统 所在系 信息科学与工程系 专业名称 计算机科学与技术 班级 09级(2)班 学生姓名 学号 指导教师

20xx年12月20日

郑州科技学院

JAVA设计(论文)任务书

题目 商 店 管 理 系 统

专业 计算机科学与技术 班级 09级(2)班

学号 姓名

主要内容

设计一个能够记录商店的进货,售货,库存等相关事务的记录系统,能过在系统的记录表中进行增删查改等操作

基本要求

具有登陆权限设置,能够对记录表进行增删查改等操作。切能够为其他用户授登陆权限和回收登陆权限,在登陆后能够切换用户。

参考文献

《Java程序设计使用教程》(主编叶核亚)

《Java语言课程设计案例精编》(张广彬等)

完成期限 2011-12-12 到 2011-12-15

指导教师签名

需求分析 ................................................................................................... 4

功能设计 ................................................................................................... 4

程序设计流程图 ...................................................................................... 5

设计思想 ................................................................................................... 5

主要用到的类及相关的方法 .................................................................. 6

数据库的E-R ........................................................................................... 7

数据库的模式........................................................................................... 7

程序运行的部分截图 .............................................................................. 9

心得体会 ............................................................................................... 10

附录(部分重要代码) ...................................................................... 10

需求分析

本课程设计主要是基于对于商店的进货记录管理,供应商的相关供货管理及供应商相关信息,售货记录管理,库存状况,人事的管理五个方面,由java语言实现基于数据库SQL server2005的一个小型管理系统,界面简单,易于操作,而且根据用户对安全性的要求,添加了登陆模块,只有在用户号及相应密码正确的情况下才可以登陆到主界面。基于美观的需要,在系统开始启动时会出现一个带有闪屏效果的动态画面,画面中不停闪出诗句,提醒用户正在登陆。

功能设计

首先在系统启动时出现一个动态的画面,在动态画面消失后接着出现一个登陆界面,界面中有用户和密码两个文本行,只有用户账号及相应密码正确,用户点击确定按钮后才可以登陆到主界面,点击取消可以退出登陆界面。

主界面有菜单栏,工具栏和桌面等组成,菜单有系统管理,人事管理等菜单组成,在系统管理中有切换用户,切换到收款账面,万年历,退出等菜单项,切换用户可以切换不同的用户。在桌面的左边有一系列的标签组成,当鼠标进入到其范围时标签自动变亮,鼠标离去标签自动变暗,单击鼠标后在桌面的右边会出现相应的表格,如人事管理,进货信息,供应商信息等。每一个相应的表格都有查询,增加,修改,删除的功能。点击增加,修改按钮会出现相应的对话框,在对话中输入所要更新的数据,点击对话框的确定按钮后便可以将相应的 4

数据加入相应的表格中,在用户退出系统式数据自动将数据保存到后台的数据库中。在桌面的右下角是一个电子表,显示当前的日期时间。 程序设计流程图

设计思想

该系统主要有可以分为四个逻辑层。最低层helper是对数据库的直接操作,在该类中需要得到加载驱动,得到数据库的连接,在该类中实现对数据库的增删查改功能,即update,query,select和delete四个方法函数。Model层是建立在helper层上的逻辑层,主要有userModel(用户),userModel中有一个查询的方法,该方法返回一个字符串,以便上层中的userLogin类调用其方法核对登陆用户及其

java实训报告

相应密码是否合法。Model层中另外还有empModel(人事),goodsModel(进货),StockModel(库存),SaleModel(销售),merchantModel(人事)。不同的Model通过调用helper中的方法来进行相应的操作。第三层是Inf,调用Model中的方法对主界面的表进行相应的操作,Inf是继承了JPanel的类,在对表操作后在主界面中重新进行实例化,在主界面中生成用户能够看到的对表进行操作后的结果。第四层是对话框Dialog,主要用于对表的添加和删除。不同的对话框依附于不同的Inf,当用户点击了对话框中的按钮后就会在本类中实现对表的更新,以便Inf实现对表的更新。不同层的功能和作用不同,实现了各自分工。

主要用到的类及相关的方法

程序的界面部分主要调用java.awt,java.swing ,调用了其中的JPanel,JFrame,JButton,JTextField。在界面的类中实现了ActionListener,MouseListener等时间监听类。其中主界面下方的动态实现标签是调用了javax.swing.Timer计时器类,实现了ActionListener中的时间标签不断的更新。在对数据库的操作中引入了java.sql包,调用了其中的ResultSet等类。在闪屏中队JWindows实现了Runnable方法,用其实现了屏幕的重绘,从而显现出同台效果。系统主要用了Model2模式,对数据库的操作是在Helper中,而对系统中表的更新是在Inf中,实现了层次分明,在找错调试的过程中清晰明了。

数据库的E-R

java实训报告

数据库的模式

库存(商品ID、名称、型号规格、产地、单位、定价、折扣率、库存数量、最低存量、供应商ID)

售货(售货ID、商品ID、售价、数量、金额、存根号、销售日期) 进货(进货ID、商品ID、进价、数量、金额、进货日期) 供应商(供应商ID、供应商名称、邮编、地址、电话、联系人、联

系人电话)

数据库的sql语句

create table Stock

(goodsId char(9) primary key, goodsNa char(20) unique, goodsSt char(9),

goodsAd char(15) not null, goodsFa char(20) not null, goodsFpr char(10) not null, goodsDis char(2),

goodsCo char(9),

goodsmCo char(9),

merchantId char(20)

create table Sale

(saleId char(9),

goodsId char(9) primary key, goodsPr char(9),

goodssaCo char(9),

cash int,

deposit char(9),

date char(9),

);

create table Engoods

(enId char(9) primary key, goodsId char(9),

enpr char(9),

enCo char(9),

enCash char(9),

enDate char(9)

);

create table merChant

(merchantId char(9) primary key, merchantNa char(9),

postNo char(9),

merchantAd char(20),

merchantTel char(15), merchantEx char(15),

exTel char(15) , );

程序运行的部分截图

java实训报告

java实训报告

心得体会

通过本周的实训,加深了我对java语言的掌握程度,在实训的过程中,遇到了前所未有的困难。尤其是在对对话框附属主件设定,发现了Dialog只能依附于JFrame。实训的过程中运用了以前没有用过的相关方法,但是由于时间有限,个人能力有限,很多功能都没有实现。再次再次感谢曾老师的悉心指导,是我解决了在程序编写过程中遇到的困难。

附录(部分重要代码)

闪屏package view;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

10

java实训报告

java实训报告

public class Index extends JWindow implements Runnable {

/**

* 闪屏

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Index index = new Index();

Thread th= new Thread(index);

th.start();}

Paint g;

//userLogin user;

public Index()

{

this.setSize(400,300);

g = new Paint();

Thread t= new Thread(g);

t.start();

this.add(g);

int width =(int)( Toolkit.getDefaultToolkit().getScreenSize().getWidth()); int heigh =(int)( Toolkit.getDefaultToolkit().getScreenSize().getHeight()); this.setLocation(width/4, heigh/4);

this.setVisible(true);

}

@Override

public void run() {

// TODO Auto-generated method stub

while(true)

{

try {

Thread.sleep(7500);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//System.out.print("时间到");

new userLogin();

this.dispose();

break;

}

}

}

class Paint extends JPanel implements Runnable

11

{

int time=0; public void paint(Graphics g) { g.drawImage(im, 0,0 , 400, 300,this); if(time<1) else if(time<2) {g.drawString("白日依山尽",20,20); } {g.drawString("白日依山尽",20,20); g.drawString("黄河入海流",20,40); g.drawString("欲穷千里目",20,60); //repaint(); }else if(time<4){ g.drawString("白日依山尽",20,20); g.drawString("黄河入海流",20,40); g.drawString("欲穷千里目",20,60); g.drawString("更上一层楼",20,80); }else if(time<5){ g.drawString("你", 40, 20); g.drawString("你", 40, 20); }else if(time<6){ g.drawString("黄河入海流",20,40); {g.drawString("白日依山尽",20,20); //repaint(); } super.paint(g); int x=20; int y=20; g.setColor(Color.red); //String str[] = {"中","国","人","你","们","好"}; g.setFont(new Font("华文彩云",Font.BOLD,20)); Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/84.jpg")); //repaint(); else if(time<3) 12

g.drawString("们", 60, 20); g.drawString("你", 40, 20); g.drawString("们", 60, 20); g.drawString("好", 80, 20); }else if(time<8){ g.drawString("你", 40, 20); g.drawString("们", 60, 20); g.drawString("好", 80, 20); }else if(time<7){

g.drawString("正在登陆", 40, 40); }

}

@Override

public void run() {

try {

while(true)

{Thread.sleep(1000);

repaint();

time++;

//System.out.print(time);

if(time>7)

time=0;

}

} catch (InterruptedException e) {

// TODO Auto-generated catch block e.printStackTrace();

}

}

}

登陆界面package view;

import java.awt.*;

import javax.imageio.*;

import javax.swing.*;

import java.awt.Event;

import java.awt.event.*;

import java.awt.image.ImageObserver;

import java.io.*;

13

import Model.*;

public class userLogin extends JDialog implements ActionListener{

JLabel jlb1,jlb2,jlb3;

JTextField jtf1;

JPasswordField jpwf;

JButton jb1,jb2;

public static void main(String []arg0)

{

userLogin u = new userLogin();

}

public userLogin()

{

Container ct = this.getContentPane();

this.setLayout(null);

//用户按钮

jlb1 = new JLabel("用户名");

jlb1.setForeground(Color.cyan);

jlb1.setFont(tool.Tool.font2);

jlb1.setBounds(100,100,80,50);

ct.add(jlb1);

///用户文本框

jtf1 = new JTextField(20);

jtf1.setBounds(150, 110, 100, 20);

jtf1.setBorder(BorderFactory.createLoweredBevelBorder()); ct.add(jtf1);

//密码按钮

jlb2 = new JLabel("密码");

jlb2.setForeground(Color.cyan);

jlb2.setFont(tool.Tool.font2);

jlb2.setBounds(100,180,80,50);

ct.add(jlb2);

//密码文本框

jpwf = new JPasswordField(20);

jpwf.setBounds(150,190,100,20);

jpwf.setBorder(BorderFactory.createLoweredBevelBorder()); ct.add(jpwf);

//

jb1 = new JButton("确定");

jb1.addActionListener(this);

jb1.setFont(tool.Tool.font3);

jb1.setBounds(80,240,60,30);

ct.add(jb1);

14

//

jb2 = new JButton("取消");

jb2.addActionListener(this);

jb2.setFont(tool.Tool.font3);

jb2.setBounds(250,240,60,30);

jb2.addActionListener(this);

ct.add(jb2);

//

backImage bi = new backImage();

bi.setBounds(0, 0, 400, 300);

ct.add(bi);

//

this.setUndecorated(true);

int width =(int)( Toolkit.getDefaultToolkit().getScreenSize().getWidth()); int heigh =(int)( Toolkit.getDefaultToolkit().getScreenSize().getHeight()); this.setLocation(width/4, heigh/4);

this.setSize(400,300);

this.setVisible(true);

}

class backImage extends JPanel{

Image im;

public backImage()

{

try {

//此处不是实例化

im=ImageIO.read(new File("image/cd.jpg"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void paintComponent(Graphics g)

{

g.drawImage(im, 0, 0, 400, 300, (ImageObserver) this);

}

}

//相应用登陆请求

public void actionPerformed(ActionEvent arg0) {

//判断用户是否点击确定按钮

15

if(arg0.getSource()==jb1)

{

//System.out.print("hello");

String vid = this.jtf1.getText().trim();

String p = new String (this.jpwf.getPassword());

//System.out.print(""+vid+""+p);

userModel md = new userModel();

String res = md.checkUser(vid, p);

//System.out.print(""+res);

if(res.equals("总裁")||res.equals("CEO")||res.equals("经理")) {

//创建WINDOWS1界面

new Windows1();

//关闭登陆框

this.dispose();

}

}

if(arg0.getSource()==jb2)

{

this.dispose();

}

}

}

主界面package view;

import tool.*;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.imageio.*;

import java.io.*;

import java.util.*;

import java.util.Timer;

public class Windows1 extends JFrame implements ActionListener,MouseListener{

/**

* 主管可进入的界面

*/

Image tittleicon, timebg;;

16

JMenuBar jmb;

JToolBar jtb;

JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10;

JMenu jm1,jm2,jm3,jm4,jm5,jm6;

JMenuItem jmm1,jmm2,jmm3,jmm4,jmm5,jmm6;

JMenuItem jm21;

ImageIcon jmm1_icon1,jmm2_icon2,jmm3_icon3,jmm4_icon4,jmm5_icon5;

JPanel jp1,jp2,jp3,jp4,jp5;

//显示时间前的标签

JLabel jshowtime;

//设置中的标签

JLabel jp1_label1,jp1_label2,jp1_label3,jp1_label4,jp1_label5,jp1_label6,jp1_label7,jp1_label8; //给jp2定义标签

JLabel jp2_1,jp2_2;

//Timer可以定时触发Action事件

javax.swing.Timer time;

Imagejpanel jp1_imagejlabel;

JSplitPane jsp1;

CardLayout cardjp3;

public static void main(String[] args) {

// TODO Auto-generated method stub

Windows1 w1 = new Windows1();

}

public void initMenu()

{

try {

tittleicon = ImageIO.read(new File("image/d.gif"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//创建图表

jmm1_icon1 = new ImageIcon("image/jm1_icon1.jpg");

jmm2_icon2 = new ImageIcon("image/jm1_icon2.jpg");

jmm3_icon3 = new ImageIcon("image/jm1_icon3.jpg");

jmm4_icon4 = new ImageIcon("image/jm1_icon4.jpg");

jmm5_icon5 = new ImageIcon("image/jm1_icon5.jpg");

//创建一级菜单

jm1 = new JMenu("系统管理");

17

jm1.setFont(tool.Tool.font);

jm1.setForeground(Color.red);

//创建二级菜单

jmm1 = new JMenuItem("切换用户",jmm1_icon1); jmm1.addActionListener(this);

jmm2 = new JMenuItem("切换到收款账面",jmm2_icon2); jmm2.setForeground(Color.pink);

jmm3 = new JMenuItem("登陆管理",jmm3_icon3); jmm3.setFont(tool.Tool.font3);

jmm4 = new JMenuItem("万年历",jmm4_icon4); jmm5 = new JMenuItem("退出",jmm5_icon5);

jmm5.addActionListener(this);

//加入

jm1.add(jmm1);

jm1.add(jmm2);

jm1.add(jmm3);

jm1.add(jmm4);

jm1.add(jmm5);

jm2 = new JMenu("人事管理");

jm21 = new JMenuItem("人事管理");

jm21.setFont(tool.Tool.font);

jm2.add(jm21);

jm21.addActionListener(this);

jm2.setFont(tool.Tool.font);

jm3 = new JMenu("菜单服务");

jm3.setFont(tool.Tool.font);

jm4 = new JMenu("报表统计");

jm4.setFont(tool.Tool.font);

jm5 = new JMenu("成本库房");

jm5.setFont(tool.Tool.font);

jm6 = new JMenu("帮助");

jm6.setFont(tool.Tool.font);

//将一级菜单加入到菜单栏

jmb = new JMenuBar();

jmb.add(jm1);

jmb.add(jm2);

jmb.add(jm3);

jmb.add(jm4);

jmb.add(jm5);

}

public void inittoolBar()

{

this.setJMenuBar(jmb);

18

//创建工具栏

jtb = new JToolBar();

//设置工具栏浮动

jtb.setFloatable(false);

jb1 = new JButton(new ImageIcon("image/jb1.jpg")); jb2 = new JButton(new ImageIcon("image/jb2.jpg")); jb3 = new JButton(new ImageIcon("image/jb3.jpg")); jb4 = new JButton(new ImageIcon("image/jb4.jpg")); jb5 = new JButton(new ImageIcon("image/jb5.jpg")); jb6 = new JButton(new ImageIcon("image/jb6.jpg")); jb7 = new JButton(new ImageIcon("image/jb6.jpg")); jb7 = new JButton(new ImageIcon("image/jb7.jpg")); jb8 = new JButton(new ImageIcon("image/jb8.jpg")); jb9 = new JButton(new ImageIcon("image/jb9.jpg")); jb10 = new JButton(new ImageIcon("image/jb10.jpg")); //添加按钮到工具栏

jtb.add(jb1);

jtb.add(jb2);

jtb.add(jb3);

jtb.add(jb4);

jtb.add(jb5);

jtb.add(jb6);

jtb.add(jb6);

jtb.add(jb7);

jtb.add(jb8);

jtb.add(jb9);

jtb.add(jb10);

}

public void initCenter()

{

//处理jp1

jp1 =new JPanel(new BorderLayout());

Image jp1_bg=null;

try {

//jp1_bg = ImageIO.read(new File("image/bg.jpg")); jp1_bg = ImageIO.read(new File("image/bg.jpg")); } catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//加入背景图片

this.jp1_imagejlabel =new Imagejpanel(jp1_bg); //设置布局格式

19

this.jp1_imagejlabel.setLayout(new GridLayout(8,1));

Cursor mycursor = new Cursor(Cursor.HAND_CURSOR);

jp1_label1 = new JLabel("人 事 管 理",new ImageIcon("image/label_2.jpg"),0); jp1_label1.setCursor(mycursor);

jp1_label1.addMouseListener(this);

jp1_label1.setFont(tool.Tool.font4);

//让标签不可用

jp1_label1.setEnabled(false);

this.jp1_imagejlabel.add(jp1_label1);

//

jp1_label2 = new JLabel("登 陆 管 理",new ImageIcon("image/label_3.jpg"),0); jp1_label2.setCursor(mycursor);

jp1_label2.addMouseListener(this);

this.jp1_imagejlabel.add(jp1_label2);

jp1_label2.setEnabled(false);

jp1_label2.setFont(tool.Tool.font4);

//

jp1_label3 = new JLabel("货 物 来 源",new ImageIcon("image/label_4.jpg"),0); jp1_label3.setCursor(mycursor);

jp1_label3.addMouseListener(this);

jp1_label3.setEnabled(false);

this.jp1_imagejlabel.add(jp1_label3);

jp1_label3.setFont(tool.Tool.font4);

//

jp1_label4 = new JLabel("售 货 详 情",new ImageIcon("image/label_5.jpg"),0); jp1_label4.setCursor(mycursor);

jp1_label4.addMouseListener(this);

jp1_label4.setEnabled(false);

this.jp1_imagejlabel.add(jp1_label4);

jp1_label4.setFont(tool.Tool.font4);

//

jp1_label5 = new JLabel("进 货 情 况",new ImageIcon("image/label_6.jpg"),0); jp1_label5.setCursor(mycursor);

jp1_label5.addMouseListener(this);

jp1_label5.setEnabled(false);

this.jp1_imagejlabel.add(jp1_label5);

jp1_label5.setFont(tool.Tool.font4);

//

jp1_label6 = new JLabel("库 存 情 况",new ImageIcon("image/label_7.jpg"),0); jp1_label6.setCursor(mycursor);

jp1_label6.addMouseListener(this);

jp1_label6.setEnabled(false);

jp1_label6.setFont(tool.Tool.font4);

20

this.jp1_imagejlabel.add(jp1_label6);

//

jp1_label7 = new JLabel("动 画 帮 助",new ImageIcon("image/label_8.jpg"),0); jp1_label7.setCursor(mycursor);

jp1_label7.addMouseListener(this);

jp1_label7.setEnabled(false);

jp1_label7.setFont(tool.Tool.font4);

this.jp1_imagejlabel.add(jp1_label7);

jp1.add(jp1_imagejlabel);

//设置jp2,jp3,jp4

jp4 = new JPanel(new BorderLayout());

jp2 = new JPanel(new CardLayout());

jp2_1 = new JLabel(new ImageIcon("image/jp2_left.jpg"));

jp2_2 = new JLabel(new ImageIcon("image/jp2_right.jpg"));

//添加标签到jp2

jp2.add(jp2_1,"right");

jp2.add(jp2_2,"left");

cardjp3 = new CardLayout();

jp3 = new JPanel(cardjp3);

//给jp3添加一个主界面图片

Image zhu_image=null;

try {

zhu_image = ImageIO.read(new File("image/3.jpg"));

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

Imagejpanel jp3im1 = new Imagejpanel(zhu_image);

jp3.add(jp3im1,"0");

EmpInf ei = new EmpInf();

jp3.add(ei,"1");

merchantInf me = null;

me = new merchantInf();

jp3.add(me,"2");

saleInf sa=null;

sa = new saleInf();

jp3.add(sa,"3");

EngoodsInf eg= null;

eg = new EngoodsInf();

jp3.add(eg,"4");

stockInf sk = null;

sk = new stockInf();

jp3.add(sk,"5");

21

//将jp3,jp4加入到jp4中

jp4.add(jp2,"West");

jp4.add(jp3,"Center");

//做一个拆分窗口,分别存放jp1,jp4

jsp1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,jp1,jp4); //指定左边的面板(jp1)占多大像素

jsp1.setDividerLocation(120);

//把边界线设为无

jsp1.setDividerSize(0);

}

public Windows1()

{

//从当前的JFrame中取出当前面板

Container ct =this.getContentPane();

//初始化菜单栏

this.initMenu();

//初始化工具栏

this.inittoolBar();

//初始化中间部分

this.initCenter();

//设置状态栏(jp5)

jp5 = new JPanel(new BorderLayout());

//创建timer使时间标签一秒钟变化一次

time = new javax.swing.Timer(1000,this);

time.start();

//实现一个显示时间的标签

jshowtime = new JLabel(Calendar.getInstance().getTime().toString()); //toLocaleString 可以显示中式时间

//jshowtime = new JLabel(Calendar.getInstance().getTime().toLocaleString()); jshowtime.setFont(tool.Tool.font1);

//设置时间标签背景

try {

//此处不是实例化

timebg = ImageIO.read(new File("image/time_bg.jpg"));

} catch (Exception e) {

// TODO: handle exception

}

Imagejpanel igj = new Imagejpanel(timebg);

igj.setLayout(new BorderLayout());

igj.add(jshowtime,"East");

//jp5.add(igj,"East");用此语句不能使jp5全变成蓝色

jp5.add(igj);

ct.add(jp5,"South");

22

ct.add(jsp1,"Center"); ct.add(jtb,"North");

int w = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();

int h = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();

this.setSize(w,h-10);

this.setTitle("管理系统");

this.setIconImage(tittleicon);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

@Override

public void actionPerformed(ActionEvent arg0) {

this.jshowtime.setText("Nowtime: "+Calendar.getInstance().getTime().toString()+" //this.jshowtime.setText(Calendar.getInstance().getTime().toLocaleString()); if(arg0.getSource()==jmm5)

{

this.dispose();

}else if(arg0.getSource()==jmm1)

{

new userLogin();

}else if(arg0.getSource()==jm21)

{

this.cardjp3.show(jp3,"1");

}

}

@Override

public void mouseClicked(MouseEvent arg0) {

// TODO Auto-generated method stub

//判断哪个标签被点击

if(arg0.getSource()==jp1_label1)

{

this.cardjp3.show(jp3,"1");

}

else if(arg0.getSource()==jp1_label3)

{

this.cardjp3.show(jp3,"2");

}

else if(arg0.getSource()==jp1_label4)

{

this.cardjp3.show(jp3,"3");

");

23

}else if(arg0.getSource()==jp1_label5) {

this.cardjp3.show(jp3,"4");

}else if(arg0.getSource()==jp1_label6) {

this.cardjp3.show(jp3,"5");

}

}

@Override

public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub //如果用户选择某个标签则标签高亮 if(arg0.getSource()==jp1_label1) {

//System.out.print("hello");

this.jp1_label1.setEnabled(true); } else if(arg0.getSource()==jp1_label2) {

this.jp1_label2.setEnabled(true); }else if(arg0.getSource()==jp1_label3) {

this.jp1_label3.setEnabled(true); }else if(arg0.getSource()==jp1_label4) {

this.jp1_label4.setEnabled(true); }else if(arg0.getSource()==jp1_label5) {

this.jp1_label5.setEnabled(true); }else if(arg0.getSource()==jp1_label6) {

this.jp1_label6.setEnabled(true); }else if(arg0.getSource()==jp1_label7) {

this.jp1_label7.setEnabled(true); }

}

@Override

public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==jp1_label1)

24

{

//System.out.print("hello");

this.jp1_label1.setEnabled(false);

}else if(arg0.getSource()==jp1_label2)

{

this.jp1_label2.setEnabled(false);

}else if(arg0.getSource()==jp1_label3)

{

this.jp1_label3.setEnabled(false);

}else if(arg0.getSource()==jp1_label4)

{

this.jp1_label4.setEnabled(false);

}else if(arg0.getSource()==jp1_label4)

{

this.jp1_label5.setEnabled(false);

}else if(arg0.getSource()==jp1_label6)

{

this.jp1_label6.setEnabled(false);

}else if(arg0.getSource()==jp1_label7)

{

this.jp1_label7.setEnabled(false);

}

}

@Override

public void mousePressed(MouseEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub

}

}

对话框package view;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import Model.goodsModel;

import Model.saleModel;

public class addEn extends Dialog implements ActionListener {

25

JPanel jp1,jp2;

JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7;

JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7;

JButton jb1,jb2;

goodsModel mt;

//JTable jta;

public addEn(Dialog owner,String tittle,boolean Model) {

super(owner,"添加",true);

jl1 = new JLabel("进货号");

jl1.setFont(tool.Tool.font1);

jl2 = new JLabel("货号");

jl2.setFont(tool.Tool.font1);

jl3 = new JLabel("价格");

jl3.setFont(tool.Tool.font1);

jl4 = new JLabel("数量");

jl4.setFont(tool.Tool.font1);

jl5 = new JLabel("金额");

jl5.setFont(tool.Tool.font1);

jl6 = new JLabel("日期");

jl6.setFont(tool.Tool.font1);

jtf1 = new JTextField(20);

jtf2 = new JTextField(20);

jtf3 = new JTextField(20);

jtf4 = new JTextField(20);

jtf5 = new JTextField(20);

jtf6 = new JTextField(20);

jp1 = new JPanel(new GridLayout(6,2)); jp1.add(jl1);

jp1.add(jtf1);

jp1.add(jl2);

jp1.add(jtf2);

jp1.add(jl3);

jp1.add(jtf3);

jp1.add(jl4);

jp1.add(jtf4);

jp1.add(jl5);

jp1.add(jtf5);

jp1.add(jl6);

jp1.add(jtf6)

jb1 = new JButton("确定");

jb1.addActionListener(this);

jb2 = new JButton("取消");

jb2.addActionListener(this);

26

} } jp2 = new JPanel(); jp2.add(jb1); jp2.add(jb2); this.setLayout(new BorderLayout()); this.add(jp1,"North"); this.add(jp2,"South"); int w = (int)Toolkit.getDefaultToolkit().getScreenSize().width; int h =(int)Toolkit.getDefaultToolkit().getScreenSize().height; this.setLocation(w/4,h/4); this.setBackground(Color.black); this.setSize(200,245); this.setVisible(true); this.setTitle(tittle); @Override public void actionPerformed(ActionEvent arg0) { } // TODO Auto-generated method stub if(arg0.getSource()==jb1) { }else { } this.dispose(); if(arg0.getSource()==jb2) mt = new goodsModel(); String paras1[] = {jtf1.getText(),jtf2.getText(),jtf3.getText(),jtf4.getText(),jtf5.getText(), { } saleInf me = new saleInf(); me.init(); this.dispose(); jtf6.getText()}; if(mt.addEn(paras1)) 27

相关推荐