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);
- }
- }
java实现商品实时录入的更多相关文章
- Servlet+jSP+java实现商品信息和流水的操作
设计思路:先是创建两个表,一个用来操作库内商品的增删改查,一个用来记录商品的流水信息. 设计过程:先对商品的属性进行创建javaBean编写,之后编写数据库连接类,之后编写数据库操作类,之后编写服务类 ...
- 59、Spark Streaming与Spark SQL结合使用之top3热门商品实时统计案例
一.top3热门商品实时统计案例 1.概述 Spark Streaming最强大的地方在于,可以与Spark Core.Spark SQL整合使用,之前已经通过transform.foreachRDD ...
- 文献综述八:基于JAVA的商品网站的研究
一.基本信息 标题:基于JAVA的商品网站的研究 时间:2015 出版源:信息技术 文件分类:对java语言的研究 二.研究背景 本文主要介绍了系统的分析,设计和开发的全部过程. 三.具体内容 文献的 ...
- java笔记7之录入
1 为了让程序的数据更符合开发的数据,我们就加入了键盘录入. 让程序更灵活一下. 那么,我们如何实现键盘数据的录入呢? A:导包 格式: ...
- java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)
首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...
- Java如何使用实时流式计算处理?
我是3y,一年CRUD经验用十年的markdown程序员常年被誉为职业八股文选手 最近如果拉过austin项目代码的同学,可能就会发现多了一个austin-stream模块.其实并不会意外,因为这一 ...
- Struts2 Spring Hibernate Ajax Java总结(实时更新)
1. 在form表单的onload属性里的方法无法执行? 若忘记了在<%=request.getSession().getAttribute("userName")%> ...
- JAVA WEB 前台实时监控后台程序运行
基本思路: 1. 操作状态在类中以静态变量方式(或公共类存储公共变量方式,SESSION方式.COOKIE方式)存在 2. 前台采用AJAX方式激发后台进行业务逻辑操作,并实时更新操作状态信息 3. ...
- Java实现系统目录实时监听更新。
SDK1.7新增的nio WatchService能完美解决这个问题.美中不足是如果部署在window系统下会出现莫名其妙的文件夹占用异常导致子目录监听失效,linux下则完美运行.这个问题着实让人头 ...
随机推荐
- MVC 5 Web编程2 -- URL映射
ASP.NET MVC 5 Web编程2 -- URL映射(路由原理) 2015-02-12 08:50 by hangwei, 704 阅读, 5 评论, 收藏, 编辑 本章将讲述ASP.NET M ...
- How to:installshield安装包怎样才能出现选择路径的界面?
原文:How to:installshield安装包怎样才能出现选择路径的界面? 这个问题新手问的很多,installshield的安装包默认设置下选择路径的界面藏在Custom安装类型下.在做完安装 ...
- A在SP.NET跨页多选
在ASP.NET跨页多选 本文介绍怎样在ASP.NET中实现多页面选择的问题.其详细思路非常easy:用隐藏的INPUT记住每次选择的项目,在进行数据绑定时.检查保存的值,再在DataGrid中进行选 ...
- 使用oracle的exp命令时,提示出--hash: exp: command not found
使用oracle的exp命令时,提示出--hash: exp: command not found 原因:当你在终端使用exp的命名时,当前的账户,并不是oracle认可的账户. 在安装oracle时 ...
- CSS学习笔记:transition
CSS3的transition允许CSS的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. 1.transit ...
- [DevExpress]利用LookUpEdit实现类似自动提示效果
原文:[DevExpress]利用LookUpEdit实现类似自动提示效果 关键代码: public static void BindWithAutoCompletion(this LookUpEdi ...
- leetcode第一题--two sum
Problem:Given an array of integers, find two numbers such that they add up to a specific target numb ...
- Mockito使用注意事项
已使用mockito有些问题.例如:配合可变长度参数.定义自己的参数匹配,在这些mockito官方文件(http://docs.mockito.googlecode.com/hg/latest/org ...
- Android项目----AsyncTask异步操作
public abstract class AsyncTask extends Object java.lang.Object ↳ android.os.AsyncTask<Params, ...
- DEBUG不能进断点 “exited with code -1073741515”
需要把相关的DLL文件加入到项目对应的DEBUG路径下 IDE :Qt Creator 系统:Win7