• java实现商品实时录入


    //代表各的主页面
    
    package com.gui;
    import java.awt.*;
    
    import javax.swing.*;
    
    import java.awt.event.*;
    import java.io.*;
    import java.nio.channels.ClosedSelectorException;
    import java.sql.*;
    import javax.swing.JFileChooser;
    import javax.swing.plaf.ScrollBarUI;
    import javax.swing.table.DefaultTableColumnModel;
    import javax.swing.table.DefaultTableModel;
    
    import com.DateSystem.Good_data;
    import com.DateSystem.Goods;
    import com.DateSystem.Userdate;
    import java.util.List;
    
    public class Main extends JFrame implements ActionListener,AdjustmentListener{
    
    	/**
    	 * @param args
    	 */
    	//主窗体组件
    	MenuBar menuBar;
        Menu menu_xitong,menu_guanli,menu_gongju,menu_Help;
    	MenuItem item_up_password, item_reLanding, item_exit;
    	MenuItem item_input, item_find, item_delete;
    	MenuItem item_jisuanqi, item_jishiben, item_beijing;
    	MenuItem item_LookHelp, item_About;
    	
    	//录入界面要用的组件
    	JPanel jp_btn,jp_main,jp_table,jp_text;
    	JLabel lbl_id, lbl_name, lbl_address, lbl_in_price, lbl_out_price, lbl_kucun, lbl_jinhuo, lbl_chuhuo;
    	TextField text_id,text_name,text_address,text_in_price,text_out_price,text_kucun,text_jinhuo,text_chuhuo;
    	JButton submit,reset,delete;
    	JScrollPane jsp;
    	JTable table;
    	DefaultTableModel model;
    	
    	
    	CardLayout c=new CardLayout();
    	JPanel card;
    	//查找页面要用的组件
    	
    	JPanel jp1,jp2,jp3;
    	JPanel jp2_main;
    	JButton find_id,find_name,find_delete,find_all;
    	JTextField text_find;
    	JScrollPane jsp_find;
    	JTable table_find;
    	DefaultTableModel model_find;
    	
    	//背景更改要用的组件
    	
    	int r =255,g=255,b=255;
    	TextField tfr,tfg,tfb;
    	Scrollbar sbr,sbg,sbb;
    	Panel display;
    	JPanel jp3_main;
    	
    	public Main(){
    		super("主窗口");
    		menuBar=new MenuBar();
    		
    		menu_gongju=new Menu("工具");
    		menu_guanli=new Menu("管理");
    		menu_Help=new  Menu("帮助");
    		menu_xitong=new Menu("系统");
    		
    		item_About=new MenuItem("关于");
    		item_beijing=new MenuItem("背景设置");
    		item_LookHelp=new MenuItem("查看帮助");
    		item_up_password=new MenuItem("修改密码");
    		item_reLanding=new MenuItem("重新登录");
    		item_exit=new MenuItem("退出系统");
    		item_jishiben=new MenuItem("记事本");
    		item_jisuanqi=new MenuItem("计算器");
    		item_find=new  MenuItem("查找");
    		item_input=new MenuItem("录入");		
    		item_delete=new MenuItem("删除");
    		
    		//注册监听
    		item_About.addActionListener(this);
    		item_beijing.addActionListener(this);
    		item_LookHelp.addActionListener(this);
    		item_up_password.addActionListener(this);
    		item_reLanding.addActionListener(this);
    		item_exit.addActionListener(this);
    		item_jishiben.addActionListener(this);
    		item_jisuanqi.addActionListener(this);
    		item_find.addActionListener(this);
    		item_input.addActionListener(this);
    		item_delete.addActionListener(this);
    		
    		
    		menu_xitong.add(item_up_password);
    		menu_xitong.add(item_reLanding);
    		menu_xitong.add(item_exit);
    		
    		menu_guanli.add(item_input);
    		menu_guanli.add(item_find);
    		//menu_guanli.add(item_delete);
    		
    		menu_gongju.add(item_jisuanqi);
    		menu_gongju.add(item_jishiben);
    		menu_gongju.add(item_beijing);
    		
    		
    		menu_Help.add(item_About);
    		menu_Help.add(item_LookHelp);
    		
    		menuBar.add(menu_xitong);
    		menuBar.add(menu_guanli);
    		menuBar.add(menu_gongju);
    		menuBar.add(menu_Help);
    		
    		
    		
    		setMenuBar(menuBar);
    				
    		setResizable(false);
    		
    		
    		initComponents();//调用方法初始化界面
    		Find();
    		change_color();
    		//查找功能的布局以及组建
    		
    		//this.setLayout(new CardLayout());
    		card=new JPanel();
    		card.setLayout(c);		
    		card.add("1", jp_main);
    		card.add("2", jp2_main);
    		card.add("3", jp3_main);
    		//this.getContentPane().add("Center", jp_main);
    		this.add(card);
    		this.setSize(1000, 500);
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    	}
    	//录入界面初始化
    	private void initComponents() {//构造面板
    		System.out.println("pass");
    		lbl_id=new JLabel("商品编号",JLabel.CENTER);
    		lbl_name=new JLabel("商品名称",JLabel.CENTER);
    		lbl_address=new JLabel("商品产地",JLabel.CENTER);
    		lbl_in_price=new JLabel("进价",JLabel.CENTER);
    		lbl_out_price=new JLabel("售价",JLabel.CENTER);
    		lbl_jinhuo=new JLabel("进货量",JLabel.CENTER);
    		lbl_chuhuo=new JLabel("销售量",JLabel.CENTER);
    		lbl_kucun=new JLabel("库存量",JLabel.CENTER);
    		
    		text_id=new TextField();
    		text_name = new TextField();
    		text_address=new  TextField();
    		text_in_price=new TextField();
    		text_out_price=new TextField();
    		text_jinhuo=new TextField();
    		text_chuhuo=new TextField();
    		text_kucun=new  TextField();
    		
    		
    		jp_table=new JPanel(new BorderLayout());		
    		jp_text =new JPanel(new GridLayout(2,8));
    		
    		
    		jp_text.add(lbl_id);
    		jp_text.add(lbl_name);
    		jp_text.add(lbl_address);
    		jp_text.add(lbl_in_price);
    		jp_text.add(lbl_out_price);
    		jp_text.add(lbl_jinhuo);
    		jp_text.add(lbl_chuhuo);
    		jp_text.add(lbl_kucun);
    		
    		
    		jp_text.add(text_id);
    		jp_text.add(text_name);
    		jp_text.add(text_address);
    		jp_text.add(text_in_price);
    		jp_text.add(text_out_price);
    		jp_text.add(text_jinhuo);
    		jp_text.add(text_chuhuo);
    		jp_text.add(text_kucun);
    		
    		model = new DefaultTableModel(new Object[][] { 			
    			   
    			  }, new String[] { "商品编号", "商品名称", "商品产地" ,"进价","售价","库存量","进货量","出货量" });
    		
    		table =new JTable(model);
    		jsp=new JScrollPane(table);
    		
    		submit=new JButton("录入商品");
    		reset=new JButton("重置信息");
    		delete=new JButton("删除所选商品");
    	
    		submit.addActionListener(this);
    		reset.addActionListener(this);
    		delete.addActionListener(this);
    		jp_btn=new JPanel(new GridLayout(1,3));
    		jp_btn.add(submit);
    		jp_btn.add(delete);
    		jp_btn.add(reset);
    		
    		jp_table.add("Center",jp_text);
    		jp_table.add("South",jp_btn);
    		
    		jp_main=new JPanel(new BorderLayout(10,10));
    		jp_main.add("Center",jsp);
    		jp_main.add("North",jp_table);
    		System.out.println("pass");
    	}
    	
    	
    	//查找面板初始化面板
    	private void Find() {
    		jp1=new JPanel(new GridLayout(1,1));
    		jp2=new JPanel(new GridLayout(1,4));
    		jp3=new JPanel(new BorderLayout());
    		
    		
    		
    		
    		find_id =new JButton("根据商品编号查询");
    		find_name=new JButton("根据商品名称查询");
    		find_all=new JButton("查询所有信息");
    		find_delete=new JButton("删除所选信息");
    		text_find=new JTextField();
    		jsp_find=new JScrollPane();
    		table_find=new JTable();
    		model_find=new DefaultTableModel();
    		
    		model_find = new DefaultTableModel(new Object[][] { 			
    				   
    		  }, new String[] { "商品编号", "商品名称", "商品产地" ,"进价","售价","库存量","进货量","出货量" });
    	
    		table_find =new JTable(model_find);
    		jsp_find=new JScrollPane(table_find);
    		
    		find_id.addActionListener(this);
    		find_name.addActionListener(this);
    		find_all.addActionListener(this);
    		find_delete.addActionListener(this);
    				
    		jp1.add(text_find);
    		jp2.add(find_id);
    		jp2.add(find_name);
    		jp2.add(find_all);
    		jp2.add(find_delete);
    		
    		jp3.add("North",jp1);
    		jp3.add("Center",jp2);
    		
    		
    		jp2_main=new JPanel(new BorderLayout(10,10));
    		jp2_main.add("Center",jsp_find);
    		jp2_main.add("North",jp3);
    		
    	}
    	
    	//背景更改
    	private void change_color() {
    		
    		jp3_main=new  JPanel();
    		display =new  Panel();
    		display.setBackground(Color.WHITE);
    		Panel pcolor =new Panel();
    		pcolor.setLayout(new BorderLayout());
    		Panel pw=new Panel();
    		pw.setLayout(new GridLayout(3,2,0,0));
    
    		jp3_main.setLayout(new  BorderLayout());
    		tfr= new TextField("255");
    		tfg=new TextField("255");
    		tfb=new TextField("255");
    		
    		tfr.setEditable(false);
    		tfg.setEditable(false);
    		tfb.setEditable(false);
    		
    		sbr=new Scrollbar(Scrollbar.HORIZONTAL,255,0,0,255);
    		sbg=new Scrollbar(Scrollbar.HORIZONTAL,255,0,0,255);
    		sbb=new Scrollbar(Scrollbar.HORIZONTAL,255,0,0,255);
    		
    		sbr.setName("SBR");
    		sbg.setName("SBG");
    		sbb.setName("SBB");
    		
    		sbr.setBackground(Color.red);
    		sbg.setBackground(Color.green);
    		sbb.setBackground(Color.blue);
    		
    		sbr.addAdjustmentListener(this);
    		sbg.addAdjustmentListener(this);
    		sbb.addAdjustmentListener(this);
    		
    		pw.add(new Label("红色"));
    		pw.add(tfr);
    
    		pw.add(new Label("绿色"));
    		pw.add(tfg);
    		
    
    		pw.add(new Label("蓝色"));
    		pw.add(tfb);
    		
    		Panel pc= new Panel();
    		pc.setLayout(new GridLayout(3, 1, 0, 0));
    		pc.add(sbr);
    		pc.add(sbg);
    		pc.add(sbb);
    		
    		pcolor.add(pw,BorderLayout.WEST);
    		pcolor.add(pc,BorderLayout.CENTER);
    		
    		
    		jp3_main.add(display,BorderLayout.CENTER);
    		jp3_main.add(pcolor,BorderLayout.SOUTH);
    		
    	}
    	
    	//查看帮助文档,调用本地的程序,查看帮助文档
    	public  void useCMDCommand() throws IOException{          
            Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "..\BaoDing_Shoop\保定商场商品管理系统项目帮助.doc"}); 
        } 
    	
    	//主函数
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		java.awt.EventQueue.invokeLater(new Runnable() {
    			   public void run() {
    			    new Main().setVisible(true);
    			   }
    			});
    		
    	}
    
    	//监听方法
    	public void actionPerformed(ActionEvent e) {
    		
    		//得到事件源
    		String btString=e.getActionCommand();
    		//录入功能		
    		if (btString.equals("录入商品")) {//追加到最后一行
    			
    			
    			if(!text_id.getText().equals("") && !text_name.getText().equals("") && !text_address.getText().equals("") && !text_in_price.getText().equals("") && !text_out_price.getText().equals("") && !text_jinhuo.getText().equals("") && !text_chuhuo.getText().equals("") && !text_kucun.getText().equals("")) {
    				
    				//获取文本框信息
    				int  idString=Integer.parseInt(text_id.getText());
    				
    				String ids=text_id.getText();
    				
    				String nameString=text_name.getText();
    				String addresString=text_address.getText();
    				double in_priceString=Double.parseDouble(text_in_price.getText());
    				double out_priceString=Double.parseDouble(text_out_price.getText());
    				int  jinhuoString=Integer.parseInt(text_jinhuo.getText());
    				int  chuhuoString=Integer.parseInt(text_chuhuo.getText());
    				int  kucun=Integer.parseInt(text_kucun.getText());
    				if (in_priceString<=0) {
    					JOptionPane.showMessageDialog(this, "亲~,进价要大于零哦!");
    				}else {
    					
    					if (in_priceString>=out_priceString) {
    						JOptionPane.showMessageDialog(this, "亲~,要有盈利的,销售价格要大于进价!");
    					}else {
    						System.out.print("录入商品");
    						if (idString!=0 && !nameString.equals("") && !addresString.equals("") && in_priceString!=0 && out_priceString!=0 && jinhuoString!=0 && chuhuoString!=0 && kucun!=0) {
    							
    							//对数据库的操作
    							
    							 String sql="insert into result values('"+
    									 ids +"','" +
    									 nameString+"','"+
    									 addresString+"',"+
    									 in_priceString+","+
    									 out_priceString+","+
    									 jinhuoString+","+
    									 chuhuoString+","+
    									 kucun+
    									 ")";
    							Userdate userdate=new Userdate();
    							boolean flag=userdate.add_goods(sql);
    							if (flag) {
    								//对表格的操作
    								model.insertRow(model.getRowCount(), new Object[] 
    										 { ids, nameString,addresString,in_priceString,out_priceString,jinhuoString,chuhuoString,kucun }			 
    								 
    										 );
    								
    								
    							}else {
    								 JOptionPane.showMessageDialog(this, "商品编号重复!");
    							}
    							 
    						}else {
    							JOptionPane.showMessageDialog(this, "请输入商品详细信息!");
    						}
    					}
    				}
    				
    			}else {
    				
    				JOptionPane.showMessageDialog(this, "请输入商品的详细信息!");
    			}
    		}
    		//删除功能
    		else if(btString.equals("删除所选商品")){
    			//获取要删除的行,没有选择是-1
    			int row=table.getSelectedRow();
    			System.out.print("删除商品操作");
    			System.out.print(row);
    			if (row==-1) {
    				JOptionPane.showMessageDialog(this,"请选择要删除商品的商品名!");				
    			}else {
    				//System.out.print(row);
    				
    				//数据库删除商品操作
    				//int  shangpin_id= Integer.parseInt((String) model.getValueAt(row, 0)) ;
    				String shangpin_id=(String) model.getValueAt(row, 0) ;
    				System.out.print(row);
    				
    				String sql="delete from result where id='"+shangpin_id+"'";
    				Userdate userdate=new Userdate();
    				boolean flag=userdate.add_goods(sql);
    				if (flag) {
    					model.removeRow(row);
    				}
    				
    			}	
    			
    		}
    		//重置功能
    		else if(btString.equals("重置信息")){
    			
    			text_id.setText("");
    			text_name.setText("");
    			text_address.setText("");
    			text_in_price.setText("");
    			text_out_price.setText("");
    			text_jinhuo.setText("");
    			text_chuhuo.setText("");
    			text_kucun.setText("");
    		}else if(btString.equals("修改密码")){
    			UpData data=new UpData();
    			data.setVisible(true);
    		}else if(btString.equals("计算器")){
    			Calculator calculator = new Calculator();		
    			calculator.setSize(250,350);
    			calculator.setLocationRelativeTo(null);
    			calculator.setVisible(true);
    			calculator.setResizable(false);			
    		}else if(btString.equals("退出系统")){
    			System.exit(0);
    		}else if (btString.equals("记事本")) {
    			NotePad notePad=new NotePad();
    			notePad.setVisible(true);
    		}else if(btString.equals("查看帮助")){
    			
    			
    			//System.out.println("help_pss");
    			try {
    				useCMDCommand();
    				
    				System.out.println("help_pss");
    			} catch (IOException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    			
    			
    		}
    		else if(btString.equals("关于")){
    			About about =new About();
    			about.setVisible(true);
    		}else if(btString.equals("重新登录")){
    			System.out.print("重新登录");
    			Landing landing = new Landing();
    			landing.setVisible(true);
    			this.dispose();			
    		}else if(btString.equals("查找")){
    			c.show(card,"2");
    			
    		}else if(btString.equals("录入")){
    			c.show(card,"1");			
    		}else if(btString.equals("删除")){
    			c.show(card,"2");
    			JOptionPane.showMessageDialog(this, "请先查找所要删除的商品信息!");
    		}else if(btString.equals("背景设置")){
    			c.show(card,"3");			
    		}
    		//查找功能
    		else if(btString.equals("根据商品编号查询")){
    			
    			if (text_find.getText().equals("")) {
    				JOptionPane.showMessageDialog(this, "查询信息为空!");
    			}else {
    				
    				//int  id =Integer.parseInt(text_find.getText().trim());
    				String id =text_find.getText().trim();
    				
    				Good_data data=new Good_data();
    				
    				Goods goods =data.findStudentById(id);
    				
    				
    				
    				//String id_s=Integer.toString(id);
    				//获取文本框信息
    				//int  idString=goods.getId();
    				//String ids=Integer.toString(goods.getId());
    				String  idString=goods.getId();
    				
    				
    				String nameString=goods.getName();
    				String addresString=goods.getAddress();
    				double  in_priceString=goods.getIn_price();
    				double  out_priceString=goods.getOut_price();
    				int  jinhuoString=goods.getJinhuo();
    				int  chuhuoString=goods.getChuhuo();
    				int  kucun=goods.getKucun();
    			
    				
    				//判断用户所输入的商品编号数据库中是否有
    				if (idString==null) {
    					JOptionPane.showMessageDialog(this,"对不起,小编没有从数据库中找到商品编号为:"+id+"的信息!");	
    				}else {
    					//对表格的操作
    					model_find.insertRow(model_find.getRowCount(), new Object[] 
    							 { idString, nameString,addresString,in_priceString,out_priceString,jinhuoString,chuhuoString,kucun }			 
    					 
    							 );				
    				}				
    			}			
    		}
    		else if(btString.equals("根据商品名称查询")){
    			String name =text_find.getText().trim();
    			
    			Good_data data=new Good_data();
    			String sql="select  * from result where nam like '%"+name+"%'";
    			
    			 List<Goods> datalist=data.findGoods(sql);
    			
    			//获取文本框信息
    			 
    			 if (name.equals("")) {
    				JOptionPane.showMessageDialog(this, "查询信息为空!");
    			}else {
    				
    				if (datalist.size()<=0) {
    					JOptionPane.showMessageDialog(this,"对不起,小编没有从数据库中找到商品名为:"+name+"的信息!");					
    				}
    				 
    				for(Goods d:datalist){//遍历数据,将查询所得到的数据逐一赋值到表中
    					
    				//int  idString=d.getId();
    				String idString=d.getId();
    				
    				String nameString=d.getName();
    				String addresString=d.getAddress();
    				double in_priceString=d.getIn_price();
    				double  out_priceString=d.getOut_price();
    				int jinhuoString=d.getJinhuo();
    				int  chuhuoString=d.getChuhuo();
    				int  kucun=d.getKucun();
    				
    				//对表格的操作
    				model_find.insertRow(model_find.getRowCount(), new Object[] 
    						 { idString, nameString,addresString,in_priceString,out_priceString,jinhuoString,chuhuoString,kucun }			 
    				 
    						 );
    				 }				
    			}			 
    		}	
    		else if(btString.equals("删除所选信息")){
    			//获取要删除的行,没有选择是-1
    			int row=table_find.getSelectedRow();
    			System.out.print("删除商品操作");
    			System.out.print(row);
    			if (row==-1) {
    				JOptionPane.showMessageDialog(this,"请选择要删除商品!");				
    			}else {
    				//System.out.print(row);
    				
    				//数据库删除商品操作
    				//int shangpin_id=(Integer) model_find.getValueAt(row, 0);
    				String shangpin_id=(String) model_find.getValueAt(row, 0);
    				System.out.print(row);
    				
    				String sql="delete from result where id='"+shangpin_id+"'";
    				Userdate userdate=new Userdate();
    				boolean flag=userdate.add_goods(sql);
    				if (flag) {
    					model_find.removeRow(row);
    				}
    			}
    		}else if(btString.equals("查询所有信息")){
    			String name =text_find.getText().trim();
    			
    			Good_data data=new Good_data();
    			String sql="select  * from result";
    			
    			List<Goods> datalist=data.findGoods(sql);
    						
    			for(Goods d:datalist){//遍历数据,将查询所得到的数据逐一赋值到表中
    				
    			//int  idString=d.getId();
    			String idString=d.getId();
    			
    			String nameString=d.getName();
    			String addresString=d.getAddress();
    			double in_priceString=d.getIn_price();
    			double  out_priceString=d.getOut_price();
    			int jinhuoString=d.getJinhuo();
    			int  chuhuoString=d.getChuhuo();
    			int  kucun=d.getKucun();
    			
    			//对表格的操作
    			model_find.insertRow(model_find.getRowCount(), new Object[] 
    					 { idString, nameString,addresString,in_priceString,out_priceString,jinhuoString,chuhuoString,kucun }			 
    			 
    					 );
    			 }				
    					
    		}
    	}
    	@Override
    	public void adjustmentValueChanged(AdjustmentEvent e) {
    		// TODO Auto-generated method stub
    		
    		
    		String sb_name =((Scrollbar)e.getSource()).getName();
    		int value =e.getValue();
    		if (sb_name.equals("SBR")) {
    			r=value;
    			tfr.setText(Integer.toString(r));
    		}else if (sb_name.equals("SBG")) {
    			g=value;
    			tfg.setText(Integer.toString(g));
    		}else if (sb_name.equals("SBB")) {
    			b=value;
    			tfb.setText(Integer.toString(b));
    		}
    		refresh();
    	}
    	
    	public void refresh() {
    		Color c=new  Color(r,g,b);
    		display.setBackground(c);
    		table.setBackground(c);
    		table_find.setBackground(c);		
    	}
    	
    	
    }
    


  • 相关阅读:
    SqlMapClient对象
    斐波拉契数列的由来
    马士兵struts2
    [转]ASP.NET Repeater控件
    C# 使用委托
    C# 实现图片的放大缩小和平移
    托管改变属性的值InvokeRequired
    [转]正确使用 RamDisk Plus 的方法解决分配内存后占用系统内存的问题
    简单学习Infopath
    C# Image与ByteArray转换
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3188522.html
Copyright © 2020-2023  润新知