⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.java

📁 本系统是鞋厂管理系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.awt.print.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;

//本程序为耗时最多的程序,也是最重要最复杂的程序,主要是各种操作的实现
public class Message extends JFrame implements ActionListener
{   
	//调用类DBConnection获取Connection实例以方便操作数据库
	DBConnection conn=new DBConnection();
	Connection con=conn.getConn();
	
	//定义5个表主要是对5种信息的放置
	JTable jtb1=new JTable();
    DefaultTableModel dtb1=new DefaultTableModel();
    
    JTable jtb2=new JTable();
    DefaultTableModel dtb2=new DefaultTableModel();
    
    JTable jtb3=new JTable();
    DefaultTableModel dtb3=new DefaultTableModel();
    
    JTable jtb4=new JTable();
    DefaultTableModel dtb4=new DefaultTableModel();
     
    JTable jtb5=new JTable();
    DefaultTableModel dtb5=new DefaultTableModel();
	
    //card1为操作中查询后的选项卡
    CardLayout card1=new CardLayout();
    //card2为实现5个表的选项卡
    CardLayout card2=new CardLayout();
	
	JPanel jp0=new JPanel();
	JPanel s=new JPanel();
	
	String sql1="select * from orderform";
	String sql2="select * from reckoning";
	String sql3="select * from message";
	String sql4="select * from staffmessage";
	String sql5="select * from duty";
	
	public int i,j,temp=1;//temp作用相当重要,作为一个事件的介质变量
	
    public Message()
    {
    	
    	setTitle("鞋厂办公系统");
    	setLocation(110,100);
    	setSize(800,550);
    	Container ct=getContentPane();
    	ct.setLayout(new BorderLayout());
    	ct.add(select(),BorderLayout.WEST);
    	ct.add(operate(),BorderLayout.CENTER);
    }
    
    //定义操作函数,返回一个面版
    public JPanel operate()
    {
    	JPanel jp1=new JPanel();
    	JPanel jp2=new JPanel();
    	JPanel jp3=new JPanel();
    	JPanel p=new JPanel();
    	JButton b1=new JButton("添加");
    	JButton b2=new JButton("修改");
    	JButton b3=new JButton("删除");
    	JButton b4=new JButton("查找");
    	JButton b5=new JButton("返回");
    	JButton b6=new JButton("退出");
    	
    	jp0.setLayout(card1);
    	
    	jp1.setLayout(new GridLayout(2,2));
    	jp1.add(b1);
    	jp1.add(b2);
    	jp1.add(b3);
    	jp1.add(b4);
    	jp2.add(b5);
    	jp3.add(b6);
    	jp0.add(jp1,"操作");
    	jp0.add(jp2,"查询");
    	
    	setTable1();
    	JScrollPane s1=new JScrollPane(jtb1);
    	
    	setTable2();	
    	JScrollPane s2=new JScrollPane(jtb2);
    	
    	setTable3();
    	JScrollPane s3=new JScrollPane(jtb3);
    	
    	setTable4();
    	JScrollPane s4=new JScrollPane(jtb4);
    	
    	setTable5();
    	JScrollPane s5=new JScrollPane(jtb5);
    	
    	s.setLayout(card2);
    	s.add(s1,"1");
    	s.add(s2,"2");
    	s.add(s3,"3");
    	s.add(s4,"4");
    	s.add(s5,"5");
    	
    	p.setLayout(new BorderLayout());
    	p.add(jp0,BorderLayout.NORTH);
    	p.add(s,BorderLayout.CENTER);
    	p.add(jp3,BorderLayout.SOUTH);
    	
    	b1.addActionListener(this);
    	b2.addActionListener(this);
    	b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);    
        b6.addActionListener(this);
        
        return p;
    }
    
    //定义选择函数,返回面版
    public JPanel select()
    {	
    	JButton b1=new JButton("订单");
    	JButton b2=new JButton("帐单");
    	JButton b3=new JButton("产品信息");
    	JButton b4=new JButton("员工信息");
    	JButton b5=new JButton("出勤情况");
    	JButton b6=new JButton("打印此表");
    	JButton b7=new JButton("密码修改");
    	JButton b8=new JButton("员工意见");
    	
    	JPanel p=new JPanel();
    	JPanel p1=new JPanel();
    	JPanel p2=new JPanel();
    	JPanel p3=new JPanel();
    	JPanel p4=new JPanel();
    	
    	JPanel c=new JPanel();
    	
    	p.setLayout(new GridLayout(8,1,10,10));
    	c.setLayout(new BorderLayout());
    	
    	p.add(b1);
    	p.add(b2);
    	p.add(b3);
    	p.add(b4);
    	p.add(b5);
    	p.add(b6);
    	p.add(b7);
    	p.add(b8);
    	
    	c.add(p,BorderLayout.CENTER);
    	c.add(p1,BorderLayout.SOUTH);
    	c.add(p2,BorderLayout.NORTH);
    	c.add(p3,BorderLayout.WEST);
    	c.add(p4,BorderLayout.EAST);
    	
    	
    	
    	b1.addActionListener(this);
    	b2.addActionListener(this);
    	b3.addActionListener(this);
    	b4.addActionListener(this);
    	b5.addActionListener(this);
    	b6.addActionListener(this);
    	b7.addActionListener(this);
    	b8.addActionListener(this);
    	
    	return c;
    }
    
    //逐一实现5种表
    public void setTable1()
    {
    	Vector vcm=new Vector();
    	
    	vcm.add("电脑编号");
    	vcm.add("客户");
    	vcm.add("货物");
    	vcm.add("订金");
    	vcm.add("总金额");
    	vcm.add("订货日");
    	vcm.add("取货日");
    	vcm.add("备注");
    	
    	jtb1.setModel(dtb1);
    	
    	for(i=0;i<vcm.size();i++)
    	  dtb1.addColumn((String)vcm.elementAt(i)); 
    	renew(sql1,dtb1);
    }
    
    public void setTable2()
    {
    	Vector vcm=new Vector();
    	
    	vcm.add("电脑编号");
    	vcm.add("贷款");
    	vcm.add("还款");
    	vcm.add("支出");
    	vcm.add("收入");
    	vcm.add("盈利");
    	vcm.add("日期");
    	vcm.add("备注");
    	
    	jtb2.setModel(dtb2);
    	
    	for(i=0;i<vcm.size();i++)
    	  dtb2.addColumn((String)vcm.elementAt(i));
    	renew(sql2,dtb2);
    }
    
    public void setTable3()
    {
    	Vector vcm=new Vector();
    	
    	vcm.add("电脑编号");
    	vcm.add("产品编号");
    	vcm.add("尺寸大小(码)");
    	vcm.add("生产总数(双)");
    	vcm.add("价格(元)");
    	vcm.add("颜色");
    	vcm.add("备注");
    	
    	jtb3.setModel(dtb3);
    	
    	for(i=0;i<vcm.size();i++)
    	  dtb3.addColumn((String)vcm.elementAt(i)); 
    	renew(sql3,dtb3);
    }
    
    public void setTable4()
    {
    	Vector vcm=new Vector();
    	
    	vcm.add("电脑编号");
    	vcm.add("姓名");
    	vcm.add("职位");
    	vcm.add("薪金");
    	vcm.add("上班时间");
    	vcm.add("假期");
    	vcm.add("入厂时间");
    	vcm.add("家庭住址");
    	vcm.add("出生年月");
    	vcm.add("备注");
    	
    	jtb4.setModel(dtb4);
    	
    	for(i=0;i<vcm.size();i++)
    	  dtb4.addColumn((String)vcm.elementAt(i)); 
    	renew(sql4,dtb4);
    }
    
    public void setTable5()
    {
    	Vector vcm=new Vector();
    	
    	vcm.add("电脑编号");
    	vcm.add("员工");
    	vcm.add("出勤情况");
    	vcm.add("员工表现");
    	vcm.add("日期");
    	vcm.add("备注");
    	
    	jtb5.setModel(dtb5);
    	
    	for(i=0;i<vcm.size();i++)
    	  dtb5.addColumn((String)vcm.elementAt(i)); 
    	renew(sql5,dtb5);
    }
    
    //重要的函数.可以实现刷新功能.把数据库的数据放入JTable中
    public void renew(String sql,DefaultTableModel dt)
    {
    	 Str str=new Str();
    	 int lastRow=0;
    	 int lastColumn;
    	    
         dt.setRowCount(0);
         try
         {
     	         Statement stmt=con.createStatement();
     	         ResultSet rs=stmt.executeQuery(sql);
     	         while(rs.next())lastRow++;
     	         rs.first();
     	         ResultSetMetaData rsmd=rs.getMetaData();
     	         lastColumn=rsmd.getColumnCount();
     	         
     	         for(i=1;i<=lastRow;i++)
     	           {   
     	        	Vector vcd=new Vector();
     		           for(j=1;j<=lastColumn;j++)
     		           {
     		        	   
     		        	 vcd.add(str.toChinese(rs.getString(j)));
     		        		  
     		           }
     		           dt.addRow(vcd);
     		        rs.next();
     	           }
     	         rs.close();
     	    	stmt.close();
          }
          catch(SQLException e){}
    }
    
    //点击JTable中的一行,获取改行的行数
    public int row1()
    {
    	return jtb1.getSelectedRow();
    }
    
    public int row2()
    {
    	return jtb2.getSelectedRow();
    }
    
    public int row3()
    {
    	return jtb3.getSelectedRow();
    }
    
    public int row4()
    {
    	return jtb4.getSelectedRow();
    }
    
    public int row5()
    {
    	return jtb5.getSelectedRow();
    }
    
    
    //实现对数据库的变动的操作
    public void trange(String sql)
	{
		
		
		try
		{

			Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					ResultSet.CONCUR_READ_ONLY);
			stmt.executeUpdate(sql);
		}
		
		catch(SQLException ex){}
	}
    
    
    //调用Select类中的构造函数,返回数据库表中的最大值 
    public int max(String sql)
    {   
    	int k=0;
    	try
    	{
    		Statement stmt=con.createStatement();
    		ResultSet r=stmt.executeQuery(sql);
    		r.last();
    		k=r.getInt(1);
    	}
    	catch(SQLException e)
    	{
    		
    	}
	    return k;
    }
    	    
        	
    //打印功能的实现 	
    private   void   printTable(JTable jtb)   {   
        Toolkit   kit   =   Toolkit.getDefaultToolkit();   //获取工具箱   
        Properties   props   =   new   Properties();   
        props.put("awt.print.printer",   "durango");   //设置打印属性   
        props.put("awt.print.numCopies",   "2");   
  
        if   (kit   !=   null)   {   
            //获取工具箱自带的打印对象   
            PrintJob   printJob   =   kit.getPrintJob(this,   "打印   页面",   props);   
  
            if   (printJob   !=   null)   {   
                Graphics   pg   =   printJob.getGraphics();   //获取打印对象的图形环境   
                Graphics2D   g2   =   (Graphics2D)   pg;   ///   
                PageFormat   pf   =   new   PageFormat();   ///   
                g2.translate(pf.getImageableX(),   pf.getImageableY());   ///转换坐标,确定打印边界   
                if   (pg   !=   null)   {   
                    try   {   
                        pg.dispose();   //   Shoot   the   page   to   printer   
                        jtb.printAll(pg);   //打印该窗体的组件   
                    }   
                    finally   {   
                        pg.dispose();   //注销图形环境pageIndex   
                    }   
                }   
                printJob.end();   //结束打印作业   
            }   
        }   
    }  
    
    
    //对各事件的处理
    public void actionPerformed(ActionEvent e)
    {
    	if("订单".equals(e.getActionCommand()))
    	{
    		temp=1;//记录单击订单时的情形,以下雷同
    		card2.first(s);//显示第一个版面,以下雷同
    	}
    	
    	if("帐单".equals(e.getActionCommand()))
    	{
    		temp=2;
    		card2.first(s);
    		card2.next(s);
    	}
    	
    	if("产品信息".equals(e.getActionCommand()))
    	{
    		temp=3;
    		card2.first(s);
    		card2.next(s);
    		card2.next(s);
    	}
    	
    	if("员工信息".equals(e.getActionCommand()))
    	{
    		temp=4;
    		card2.last(s);
    		card2.previous(s);
    	}
    	
    	if("出勤情况".equals(e.getActionCommand()))
    	{
    		temp=5;
    		card2.last(s);
    	}
    	
    	
    	if("密码修改".equals(e.getActionCommand()))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -