//代表各的主页面

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实现商品实时录入的更多相关文章

  1. Servlet+jSP+java实现商品信息和流水的操作

    设计思路:先是创建两个表,一个用来操作库内商品的增删改查,一个用来记录商品的流水信息. 设计过程:先对商品的属性进行创建javaBean编写,之后编写数据库连接类,之后编写数据库操作类,之后编写服务类 ...

  2. 59、Spark Streaming与Spark SQL结合使用之top3热门商品实时统计案例

    一.top3热门商品实时统计案例 1.概述 Spark Streaming最强大的地方在于,可以与Spark Core.Spark SQL整合使用,之前已经通过transform.foreachRDD ...

  3. 文献综述八:基于JAVA的商品网站的研究

    一.基本信息 标题:基于JAVA的商品网站的研究 时间:2015 出版源:信息技术 文件分类:对java语言的研究 二.研究背景 本文主要介绍了系统的分析,设计和开发的全部过程. 三.具体内容 文献的 ...

  4. java笔记7之录入

    1  为了让程序的数据更符合开发的数据,我们就加入了键盘录入.    让程序更灵活一下.        那么,我们如何实现键盘数据的录入呢?        A:导包            格式:   ...

  5. java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

    首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...

  6. Java如何使用实时流式计算处理?

    我是3y,一年CRUD经验用十年的markdown程序员‍常年被誉为职业八股文选手 最近如果拉过austin项目代码的同学,可能就会发现多了一个austin-stream模块.其实并不会意外,因为这一 ...

  7. Struts2 Spring Hibernate Ajax Java总结(实时更新)

    1. 在form表单的onload属性里的方法无法执行? 若忘记了在<%=request.getSession().getAttribute("userName")%> ...

  8. JAVA WEB 前台实时监控后台程序运行

    基本思路: 1. 操作状态在类中以静态变量方式(或公共类存储公共变量方式,SESSION方式.COOKIE方式)存在 2. 前台采用AJAX方式激发后台进行业务逻辑操作,并实时更新操作状态信息 3.  ...

  9. Java实现系统目录实时监听更新。

    SDK1.7新增的nio WatchService能完美解决这个问题.美中不足是如果部署在window系统下会出现莫名其妙的文件夹占用异常导致子目录监听失效,linux下则完美运行.这个问题着实让人头 ...

随机推荐

  1. Asp.Net MVC5入门学习系列②

    原文:Asp.Net MVC5入门学习系列② 添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用 ...

  2. VS2015 ASP.NET5 Web项目

    VS2015 ASP.NET5 Web项目结构浅析   前言 本文个人同步博客地址http://aehyok.com/Blog/Detail/76.html 在安装好VS2015之后,一直想看看新版本 ...

  3. C# 编译器选项 /platform(指定输出平台)32位程序运行到x64平台的问题

    如果说你编译的exe运行时报错: “尝试读取或写入受保护的内存.这通常指示其他内存已损坏” 这很有可能是你是以非托管的方式错误地引用了64位的API中去. 为什么会这样? 那你就要考虑VS的编译器选项 ...

  4. [译]在运行时内存中的Java对象是怎么样的

    (文章翻译自What do Java objects look like in memory during run-time?) 我们知道函数在内存中是作为一个活动记录栈来实现的.而且我们知道Java ...

  5. iscroll4实现轮播图效果

    相信很多人和我一样,在使用iscroll的是时候只知道可以手动滑动,不知道iscroll的轮播怎么实现一下就是我做的一个轮播效果,亲测有效: 1.html,当然可以动态添加下面的小圆点 <div ...

  6. web浏览器中javascript

    1.异步载入一个js代码function loadasync(url) { var head = document.getElementsByTagName("head")[0]; ...

  7. 使用Flexible实现手淘H5页面的终端适配(转)

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  8. easyui datagrid 前台分页

    核心方法 //分页data function pagerFilter(data, pagegrid) { if (typeof data.length == 'number' && t ...

  9. 使用winform控件注意线程绘制界面冲突

    在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往 ...

  10. Visual Studio 2013 Update 3

    微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM   昨 天微软的Visual Studio 2013 Update 3(Visual Studio 201 ...