满汉楼1//图形桌面

来源:互联网 发布:解压软件安卓版下载 编辑:程序博客网 时间:2024/05/16 11:14

//本小项目参照韩顺平老师的视频所编

/*
 * 用户登录的闪屏效果
 */
package com.mh1.view;
import java.awt.*;
import javax.swing.*;

public class Index extends JWindow implements Runnable{
    JProgressBar jpb;
    JLabel jl1;
    int width,height;
    paint p;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Index index=new Index();
        Thread t=new Thread(index);
        t.start();
        }
    public Index()
    {
        jl1=new JLabel(new ImageIcon("image\\index.jpg"));
    //    jl1=new JLabel();
        jpb=new JProgressBar();
        p=new paint();
        this.add(p);
        //进度条属性
        jpb.setStringPainted(true);//显示当前进度值信息
        jpb.setIndeterminate(false);//确定进度条执行完成后不来回滚动
        jpb.setBorderPainted(false);//设置进度条边框不显示
        jpb.setBackground(Color.darkGray);//设置进度条的背景色
        
        this.add(jl1,BorderLayout.NORTH);
        this.add(jpb,BorderLayout.SOUTH);
        this.setSize(400,263);
        width=Toolkit.getDefaultToolkit().getScreenSize().width;
        height=Toolkit.getDefaultToolkit().getScreenSize().height;
        this.setLocation(width/2-200,height/2-150);
        this.setVisible(true);
    }
    public void run() {
        // TODO Auto-generated method stub
        int []proValue={0,1,5,8,14,17,26,35,38,43,49,56,65,71,75,78,86,94,98,99,100};
        String key[]={"慢","慢","无","思"};
        for(int i=0;i<proValue.length;++i)
        {
            try{
                Thread.sleep(180);
            }catch(InterruptedException e){
                e.printStackTrace();
            }
            jpb.setValue(proValue[i]);//取得当前数组中的进度值
        }
        new  UserLogin();
        this.dispose();
    }
}
//开发一个闪屏类

/////////
//开发一个闪屏类
class paint extends JPanel implements Runnable
{
  Thread t;
  int x=10;
  int i=0,j=40,u=10;
  String gg[]={"系","统","正","在","加","载","请","稍","后"};
  int k=0,tt=0;
  String shi[]={"满","汉","楼","融","满","汉","精","华","做","天","下","美","味",
          "招","八","方","食","客","结","四","海","良","朋","|","满","汉","楼","工","作","室"};
  Font f=new Font("隶书",Font.PLAIN,18);
 
  boolean ifok=true;
  int width=180;
  int height=0;
  int dian=0;
 
  paint()
  {
      t=new Thread(this);
      t.start();
  }
 
  @Override
  public void run() {
      while(true)
      {
          if(x<=380) repaint();
          try {
              Thread.sleep(100);
              i++;
              j=j-6;
              u=u+10;
              
              if(tt==3) width=width-20;
              if(i==4)
              {
                  tt++;
                  if(ifok&&x>120+k*20) k++;
                  if(k>=gg.length-1) ifok=false;
                  x=x+10;
                  i=0;
                  j=40;
                  u=10;
                  dian++;
                  if(dian>3) dian=0;
              }
          } catch (InterruptedException e) {
              System.out.println("线程中断");
              e.printStackTrace();
          }
      }
  }
 
  public void paintComponent(Graphics g)
  {
      Image image;
      image=Toolkit.getDefaultToolkit().getImage("image/index/index.gif");
      g.drawImage(image, 0, 0, this.getWidth(), 200, this);
      
      int r=(int)(Math.random()*255);
      int b=(int)(Math.random()*255);
      int y=(int)(Math.random()*255);
      
      g.setColor(new Color(253,250,250));
      g.fillRect(x, 210, 390-x, 30);
      g.setColor(new Color(253,250,250));
      if(i>1) g.fillRect(x, 225-(j+20)/2, 10, j+20);
      if(j>25) g.setColor(new Color(r,b,y));
      else g.setColor(new Color(123,194,252));
      g.fillRect(x, 225-j/2, 10, j);
      g.setColor(new Color(123,194,252));
      g.drawRect(10, 210, 380, 30);
      
      if(x<120)
      {
          for(int l=0;l<gg.length;l++)
          {
              g.setColor(new Color(0,0,0));
              g.drawString(gg[l],120+l*20,230);
          }
          for(int l=0;l<dian;l++)
          {
              g.setColor(new Color(0,0,0));
              g.drawString("*", 300+l*10, 235);
          }
          g.drawString("*", 300+10*dian, 235);
      }
      else
      {
          g.setColor(new Color(23,23,230));
          g.drawString(gg[k],120+k*20,230);
          for(int l=k+1;l<gg.length;l++)
          {
              g.setColor(new Color(0,0,0));
              g.drawString(gg[l],120+l*20,230);
          }
          if(x>300+dian*10)
              g.setColor(new Color(23,23,230));
          for(int l=0;l<dian;l++)
          {
              g.drawString("*", 300+l*10, 235);
          }
          g.drawString("*",300+10*dian,235);
      }
      
      //-----------逐字写诗
      if(tt<3)
      {
          for(int rr=0;rr<=tt;rr++)
          {
              g.setColor(new Color(r,b,y));
              g.drawString(shi[rr], 170, 60+rr*20);
          }
          g.drawString(shi[tt], 170, 60+tt*20);
      }
      if(tt>=3&&tt<7)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          g.setColor(new Color(r,b,y));
          if(tt<8)
              for(int rr=3;rr<=tt;rr++)
                  g.drawString(shi[rr], 150, rr*20-20);
          if(tt>=7)
          {
              for(int rr=3;rr<=7;rr++)
                  g.drawString(shi[rr], 150, rr*20-20);
          }
      }
      if(tt>=7&&tt<13)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          for(int rr=3;rr<=7;rr++)
              g.drawString(shi[rr], 150, rr*20-20);
          g.setColor(new Color(r,b,y));
          if(tt<13) for(int rr=8;rr<=tt;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
          //减120,是因为此时rr不是5,而是在7~13之间,减去前面的5个*20,再减20,即减120
          if(tt>=13) for(int rr=8;rr<=13;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
      }
      if(tt>=13&&tt<18)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          for(int rr=3;rr<=7;rr++)
              g.drawString(shi[rr], 150, rr*20-20);
          for(int rr=8;rr<13;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
          g.setColor(new Color(r,b,y));
          if(tt<18) for(int rr=13;rr<=tt;rr++)
              g.drawString(shi[rr], 90, rr*20-220);
          if(tt>=18) for(int rr=13;rr<=18;rr++)
              g.drawString(shi[rr], 90, rr*20-220);
      }
      if(tt>=18&&tt<23)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          for(int rr=3;rr<=7;rr++)
              g.drawString(shi[rr], 150, rr*20-20);
          for(int rr=8;rr<13;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
          for(int rr=13;rr<18;rr++)
              g.drawString(shi[rr], 90, rr*20-220);
          g.setColor(new Color(r,b,y));
          if(tt<23) for(int rr=18;rr<=tt;rr++)
              g.drawString(shi[rr], 60, rr*20-320);
          if(tt>=23) for(int rr=18;rr<=23;rr++)
              g.drawString(shi[rr], 60, rr*20-320);
      }
      if(tt>=23&&tt<30)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          for(int rr=3;rr<=7;rr++)
              g.drawString(shi[rr], 150, rr*20-20);
          for(int rr=8;rr<13;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
          for(int rr=13;rr<18;rr++)
              g.drawString(shi[rr], 90, rr*20-220);
          for(int rr=18;rr<23;rr++)
              g.drawString(shi[rr], 60, rr*20-320);
          g.setColor(new Color(r,b,y));
          if(tt<30) for(int rr=23;rr<=tt;rr++)
              g.drawString(shi[rr], 30, rr*20-400);
          if(tt>=30) for(int rr=23;rr<=30;rr++)
              g.drawString(shi[rr], 30, rr*20-400);
      }
      if(tt>=30)
      {
          g.setColor(new Color(230,0,0));
          for(int rr=0;rr<3;rr++)
              g.drawString(shi[rr], 170, 60+rr*20);
          for(int rr=3;rr<=7;rr++)
              g.drawString(shi[rr], 150, rr*20-20);
          for(int rr=8;rr<13;rr++)
              g.drawString(shi[rr], 120, rr*20-120);
          for(int rr=13;rr<18;rr++)
              g.drawString(shi[rr], 90, rr*20-220);
          for(int rr=18;rr<23;rr++)
              g.drawString(shi[rr], 60, rr*20-320);
          for(int rr=23;rr<30;rr++)
              g.drawString(shi[rr], 30, rr*20-400);
      }
  }
 
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/*
 * 这是系统管理员、经理、主管可以进入的操作界面
 * 完成界面的顺序。从上到下,从左到右
 */
package com.mh1.view;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JToolBar;
import javax.swing.Timer;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.*;

import com.mhl.tools.ImagePanel;
import com.mhl.tools.myTools;

import java.util.*;
public class Windows1 extends JFrame implements ActionListener,MouseListener{
    //从JFrame中取得Container
    Container ct=this.getContentPane();
    //定义需要的组件
    BufferedImage titleIcon;
    JMenuBar jmb;//菜单条
    JMenu jm1,jm2,jm3,jm4,jm5,jm6;//一级菜单
    JMenuItem jmm1,jmm2,jmm3,jmm4,jmm5;//二级菜单
    //图标
    ImageIcon jmm1_icon,jmm2_icon,jmm3_icon,jmm4_icon,jmm5_icon;
    //工具栏
    JToolBar jtb;
    JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10;
    JPanel p1,p2,p3,p4,p5;
    //状态栏
     JLabel timeNow;    //用于显示当前时间的标签
     Image timeBG;
     //javax.swing包中的timer能够定时触发Action事件
     javax.swing.Timer t;
     //中部p1
     ImagePanel p1_imagepanel;
     JLabel p1_lab1,p1_lab2,p1_lab3,p1_lab4,p1_lab5,p1_lab6,p1_lab7,p1_lab8;
     //给p2面板定义需要的jlabel
    CardLayout cardP3;
     JLabel p2_lab1,p2_lab2;
     //定义一个拆分窗口
     JSplitPane jsp=null;
    
    public static void main(String[] args) {
        Windows1 w=new Windows1();
    }
    //初始化菜单
    public void initMenu()
    {
        //创建图表
                //菜单图片
                jmm1_icon=new ImageIcon("image\\jm1_icon1.JPG");
                jmm2_icon=new ImageIcon("image/jm1_icon2.jpg");
                jmm3_icon=new ImageIcon("image/jm1_icon3.jpg");
                jmm4_icon=new ImageIcon("image/jm1_icon4.jpg");
                jmm5_icon=new ImageIcon("image/jm1_icon5.jpg");
                //创建一级菜单,最近原则
                jm1=new JMenu("系统管理");
                jmm1=new JMenuItem("切换用户",jmm1_icon);
                jmm2=new JMenuItem("切换到收款界面",jmm2_icon);
                jmm3=new JMenuItem("登录管理",jmm3_icon);
                jmm4=new JMenuItem("万年历",jmm4_icon);
                jmm5=new JMenuItem("退出",jmm5_icon);
                jm1.add(jmm1);
                jm1.add(jmm2);
                jm1.add(jmm3);
                jm1.add(jmm4);
                jm1.add(jmm5);
                jm2=new JMenu("人事管理");
                jm3=new JMenu("菜单服务");
                jm4=new JMenu("报表统计");
                jm5=new JMenu("成本及库房");
                jm6=new JMenu("帮助");
                //加入一级菜单
                jmb=new JMenuBar();
                jmb.add(jm1);
                jmb.add(jm2);
                jmb.add(jm3);
                jmb.add(jm4);
                jmb.add(jm5);
                jmb.add(jm6);
    }
    //初始化工具栏
    public void initToolbar()
    {
        jtb=new JToolBar();
        //设置工具栏不可拖动
        jtb.setFloatable(false);
        jb1=new JButton(new ImageIcon("image/toolBar_image/jb1.jpg"));
        jb2=new JButton(new ImageIcon("image/toolBar_image/jb2.jpg"));
        jb3=new JButton(new ImageIcon("image/toolBar_image/jb3.jpg"));
        jb4=new JButton(new ImageIcon("image/toolBar_image/jb4.jpg"));
        jb5=new JButton(new ImageIcon("image/toolBar_image/jb5.jpg"));
        jb6=new JButton(new ImageIcon("image/toolBar_image/jb6.jpg"));
        jb7=new JButton(new ImageIcon("image/toolBar_image/jb7.jpg"));
        jb8=new JButton(new ImageIcon("image/toolBar_image/jb8.jpg"));
        jb9=new JButton(new ImageIcon("image/toolBar_image/jb9.jpg"));
        jb10=new JButton(new ImageIcon("image/toolBar_image/jb10.jpg"));
        jtb.add(jb1);
        jtb.add(jb2);
        jtb.add(jb3);
        jtb.add(jb4);
        jtb.add(jb5);
        jtb.add(jb6);
        jtb.add(jb7);
        jtb.add(jb8);
        jtb.add(jb9);
        jtb.add(jb10);
        //加入工具栏到container去
        ct.add(jtb,"North");
        ///
    }
    //初始化状态栏
    public void initState()
    {
         timeNow=new JLabel("当前时间 "+Calendar.getInstance().getTime().toLocaleString()+"    ");
            p5=new JPanel(new BorderLayout());
            //背景
            try {
                timeBG=ImageIO.read(new File("image/time_bg.jpg"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            ImagePanel ip1=new ImagePanel(timeBG);
            ip1.setLayout(new BorderLayout());
            ip1.add(timeNow,"East");
            p5.add(ip1);
            //每隔1秒出发actionevent事件
            t=new Timer(1000,this);
            //启动定时器
            t.start();
            ct.add(p5,"South");
    }
    //初始化中间的jiemian
    public void allPanel()
    {
         p1=new JPanel(new BorderLayout());
            //添加背景
            Image p1_bg=null;
            try {
                p1_bg = ImageIO.read(new File("image/index_bg.jpg"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            this.p1_imagepanel=new ImagePanel(p1_bg);
            //添加选项
            this.p1_imagepanel.setLayout(new GridLayout(8,1));
            p1_lab1=new JLabel(new ImageIcon("image/center_image/label_1.gif"));
            p1_imagepanel.add(p1_lab1);
            p1_lab2=new JLabel("人 事 管 理",new ImageIcon("image/center_image/label_2.jpg"),0);
            p1_lab2.setEnabled(false);
            p1_lab2.addMouseListener(this);
            p1_lab2.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab2);
            p1_lab3=new JLabel("登 录 管 理",new ImageIcon("image/center_image/label_3.jpg"),0);
            p1_lab3.setEnabled(false);
            p1_lab3.addMouseListener(this);
            p1_lab3.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab3);
            p1_lab4=new JLabel("菜 谱 价 格",new ImageIcon("image/center_image/label_4.jpg"),0);
            p1_lab4.setEnabled(false);
            p1_lab4.addMouseListener(this);
            p1_lab4.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab4);
            p1_lab5=new JLabel("报 表 统 计",new ImageIcon("image/center_image/label_5.jpg"),0);
            p1_lab5.setEnabled(false);
            this.p1_imagepanel.add(p1_lab5);
            p1_lab5.addMouseListener(this);
            p1_lab5.setCursor(myTools.myCursor);
            p1_lab6=new JLabel("成本及库房",new ImageIcon("image/center_image/label_6.jpg"),0);
            p1_lab6.setEnabled(false);
            p1_lab6.addMouseListener(this);
            p1_lab6.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab6);
            p1_lab7=new JLabel("系 统 设 置",new ImageIcon("image/center_image/label_7.jpg"),0);
            p1_lab7.addMouseListener(this);
            p1_lab7.setEnabled(false);
            p1_lab7.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab7);
            p1_lab7.addMouseListener(this);
            p1_lab8=new JLabel("动 画 帮 助",new ImageIcon("image/center_image/label_8.jpg"),0);
            p1_lab8.setEnabled(false);
            p1_lab8.addMouseListener(this);
            p1_lab8.setCursor(myTools.myCursor);
            this.p1_imagepanel.add(p1_lab8);
            p1.add(p1_imagepanel);
            
            ///处理p2,p3,p4面板
            p4=new JPanel(new BorderLayout());
            p2=new JPanel(new BorderLayout());
                //
            p2_lab1=new JLabel(new ImageIcon("image/center_image/jp2_left.jpg"));
            p2_lab1.addMouseListener(this);
            p2_lab2=new JLabel(new ImageIcon("image/center_image/jp2_right.jpg"));
            p2_lab2.addMouseListener(this);
            //
            p2.add(p2_lab1,"North");
            p2.add(p2_lab2,"South");
            cardP3= new CardLayout();
            p3=new JPanel(cardP3);
                //先给p3加入一个主界面的卡片
            Image zhu_image=null;
            try {
                zhu_image = ImageIO.read(new File("image/center_image/jp3_bg.jpg"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            ImagePanel ip=new ImagePanel(zhu_image);
            EmpInfo einfo=new EmpInfo();
            JLabel dlgl=new JLabel(new ImageIcon("image/center_image/test2.jpg"));
                //设置p3 的背景
            p3.add(ip,"0");
            p3.add(einfo,"1");
            p3.add(dlgl,"2");
                //把p2,p3加入到p4
            p4.add(p2,"West");
            p4.add(p3,"Center");
            //
            //做一个拆分窗口,存放p1,p4
            //对jsplitpanel进行左右拆分
            jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,p1,p4);
            //对左右窗口设置
            jsp.setDividerLocation(Toolkit.getDefaultToolkit().getScreenSize().width-20);
            //把边界线设为0
            jsp.setDividerSize(0);
               ct.add(jsp);
    }
    public Windows1()
    {
        try {
            titleIcon=ImageIO.read(new  File("image/title.gif"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //初始化菜单
        initMenu();
        //初始化工具栏
        initToolbar();
        //初始化状态栏
        initState();
        //初始化中间界面
        allPanel();
        
        this.setJMenuBar(jmb);
        this.setIconImage(titleIcon);
        this.setTitle("满汉楼餐饮系统");
        int w=Toolkit.getDefaultToolkit().getScreenSize().width;
        int h=Toolkit.getDefaultToolkit().getScreenSize().height;
        this.setSize(w, h-25);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true );
    }
    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        this.timeNow.setText("当前时间 "+Calendar.getInstance().getTime().toLocaleString()+"    ");
    }
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        if(e.getSource()==this.p1_lab2)
        {
            this.cardP3.show(p3,"1");
            jsp.setDividerLocation(180);
        }
        if(e.getSource()==this.p1_lab3)
        {
            this.cardP3.show(p3,"2");
        }
        if(e.getSource()==p2_lab1)
        {
            jsp.setDividerLocation(180);
        }
        if(e.getSource()==p2_lab2)
        {
            
            jsp.setDividerLocation(Toolkit.getDefaultToolkit().getScreenSize().width-20);
        }
        
    }
    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
        //如果用户选择了某个Jlabel。则高亮
        if(e.getSource()==this.p1_lab2)
        {
            //设置高亮
            this.p1_lab2.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab3)
        {
            //设置高亮
            this.p1_lab3.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab4)
        {
            //设置高亮
            this.p1_lab4.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab5)
        {
            //设置高亮
            this.p1_lab5.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab6)
        {
            //设置高亮
            this.p1_lab6.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab7)
        {
            //设置高亮
            this.p1_lab7.setEnabled(true);
        }
        if(e.getSource()==this.p1_lab8)
        {
            //设置高亮
            this.p1_lab8.setEnabled(true);
        }
        
    }
    @Override
    public void mouseExited(MouseEvent e) {
        if(e.getSource()==this.p1_lab2)
        {
            //设置高亮
            this.p1_lab2.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab3)
        {
            //设置高亮
            this.p1_lab3.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab4)
        {
            //设置高亮
            this.p1_lab4.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab5)
        {
            //设置高亮
            this.p1_lab5.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab6)
        {
            //设置高亮
            this.p1_lab6.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab7)
        {
            //设置高亮
            this.p1_lab7.setEnabled(false);
        }
        if(e.getSource()==this.p1_lab8)
        {
            //设置高亮
            this.p1_lab8.setEnabled(false);
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }
    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

}


//////////////////////////////

//////////////////////////////

/*
 * 登录桌面
 */
package com.mh1.view;
import javax.imageio.ImageIO;
import javax.swing.*;

import com.mh1.model.UserModel;
import com.mhl.tools.myTools;

import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;
/*
 * jdialog对话框,设置为空布局
 */
public class UserLogin extends JDialog implements ActionListener {
    BackImage bi;
    JLabel jl1,jl2,jl3;
    JTextField JName;
    JPasswordField jPasswd;
    JButton jCon,jCancel;
    public static void main(String []args)
    {
        UserLogin ul=new UserLogin();
    }
    public UserLogin()
    {
        //设置为空布局
        this.setLayout(null);
        //定义一个容器
        Container ct=this.getContentPane();
        //字体
        //创建各个组件
        jl1=new JLabel("请输入用户名:");
        jl1.setFont(myTools.ft);
        jl1.setBounds(50,190,150,30);
        ct.add(jl1);
        JName=new JTextField(20);
        //开始时的焦点
        JName.setFocusable(true);//设置为焦点
        JName.setBounds(150,190,120,25);
        JName.setFont(myTools.ft);
        //向下凹陷
        JName.setBorder(BorderFactory.createLoweredBevelBorder());
        ct.add(JName);
        //
        jl2=new JLabel("(员工号)");
        jl2.setFont(myTools.ft);
        jl2.setBounds(60,210,150,30);
        ct.add(jl2);
        //
        jl3=new JLabel("密码");
        jl3.setFont(myTools.ft);
        jl3.setBounds(100,240,130,25);
        
        ct.add(jl3);
        
        jPasswd=new JPasswordField(20);
        jPasswd.setBounds(150,240,120,30);
        jPasswd.setFont(myTools.ft);
        ct.add(jPasswd);
        //
        jCon=new JButton("确定");
        jCon.addActionListener(this);
        jCon.setFont(myTools.ft);
        jCon.setBounds(110,300,70,30);
        ct.add(jCon);
        //
        jCancel=new JButton("取消");
        jCancel.addActionListener(this);
        jCancel.setFont(myTools.ft);
        jCancel.setBounds(200,300,70,30);
        ct.add(jCancel);
        //
        try {
            bi=new BackImage();
            //设置主键位置
            bi.setBounds(0,0,660,660);
            System.out.print("bi\n");
            ct.add(bi);
            //把一组件放入到JFrame,或者JDialog中可以直接放入
            //也可以定义一个容器,再利用容器对象加入
            //ct.add(bi);//加入背景图片
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        int width=Toolkit.getDefaultToolkit().getScreenSize().width;
        int height=Toolkit.getDefaultToolkit().getScreenSize().height;
        this.setLocation(width/2-200,height/2-150);
        this.setSize(360,360);
        //设置不使用上下框
        this.setUndecorated(true);    
        this.setVisible(true);
        
    }
    //内部类
    class BackImage extends JPanel
    {
        Image im;
        public BackImage() throws IOException
        {
            im=ImageIO.read(new  File("image\\Login.gif"));
        }
        public void paintComponent(Graphics G)
        {
            G.drawImage(im,0,0,360,360,this);
        }
        
    }
    @Override
    public void actionPerformed(ActionEvent arg0) {
        if(arg0.getSource()==jCon)
        {
            String u=JName.getText().trim();
            String p=new String(jPasswd.getPassword());
            UserModel um=new UserModel();
            String rs=um.checkUser(u, p);
            if(rs.equals("经理")||rs.equals("主管")||rs.equals("管理员"))
            {
                new Windows1();
                this.dispose();
            }
        }
        if(arg0.getSource()==jCancel)
        {
            this.dispose();
        }
        
    }
}

//////////

////////////////////////////////////////////////////////

package com.mh1.view;

import java.awt.Frame;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import com.mh1.model.EmpModel;

public class update extends JDialog {

    JTable jtb=null;
    JButton jb1=null;
    JButton jb2=null;
    JPanel jp1=null;
    JScrollPane jsp=null;
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }
    public update(Frame owner,String t,boolean b,EmpModel em,int row)
    {
        super(owner,t,b);
        jb1=new JButton("确定");
        jb2=new JButton("取消");
        jp1=new JPanel(new GridLayout());
        jp1.add(jb1);
        jp1.add(jb2);
        this.add(jp1,"South");
        this.setSize(400,300);
        this.setVisible(true);
    }

}

///////////////////////////////////////

/**
 * 用于显示人事管理的界面
 */
package com.mh1.view;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.*;

import com.mh1.model.EmpModel;
public class EmpInfo extends JPanel implements ActionListener{
    JPanel p1,p2,p3,p4,p5;
    JLabel p1_jlb,p2_jlb;
    JButton p1_jb,p2_jb1,p2_jb2,p2_jb3,p2_jb4;
    TextField p1_tf;
    JTable jtable;
    JScrollPane jsp;
    EmpModel em;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        EmpInfo e=new EmpInfo();
    }
    public EmpInfo()
    {
        jsp=new JScrollPane();
        p1=new JPanel(new FlowLayout(FlowLayout.CENTER));
        p1_jlb=new JLabel("请输入姓名(员工号或者职位)");
        p1_tf=new TextField(20);
        
        p1_jb=new JButton("查询");
        p1_jb.addActionListener(this);
        p1.add(p1_jlb);
        p1.add(p1_tf);
        p1.add(p1_jb);
        p2=new JPanel(new FlowLayout(FlowLayout.LEFT));
        em=new EmpModel();
        String []params={"1"};
        em.query(params);
        p2_jlb=new JLabel("总记录是"+em.getRowCount()+"条");
        p2.add(p2_jlb);
        p3=new JPanel(new FlowLayout(FlowLayout.RIGHT));
        p2_jb1=new JButton("详细信息");
        p2_jb2=new JButton("添加");
        p2_jb3=new JButton("修改");
        p2_jb3.addActionListener(this);
        p2_jb4=new JButton("删除");
        p2_jb4.addActionListener(this);
        p3.add(p2_jb1);
        p3.add(p2_jb2);
        p3.add(p2_jb3);
        p3.add(p2_jb4);
        p4=new JPanel(new BorderLayout());
        p4.add(p2,"West");
        p4.add(p3,"East");
        //处理center
        
        
        jtable=new JTable(em);
        jsp=new JScrollPane(jtable);
        p5=new JPanel(new BorderLayout());
        p5.setBackground(Color.BLUE);
        //p5.add(new JButton(),"Center");
        p5.add(jsp,"Center");
        //初始化参数
        
        this.setLayout(new BorderLayout());
        this.add(p1,"North");
        this.add(p4,"South");
        this.add(p5,"Center");
        this.setVisible(true);
    }
    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        if(arg0.getSource()==p2_jb4)
        {
            Vector<String> rq=new Vector<String>();
            int i[]=jtable.getSelectedRows();            
            String temp="";
            for(int j=0;j<i.length;++j)
            {
                
                temp=(String)em.getValueAt(i[j], 0);
                rq.add(temp);
            }
            
            if(em.zsg(rq))
            {
                JOptionPane.showMessageDialog(null,"删除成功");

             }
            else {
                JOptionPane.showMessageDialog(null,"删除失败");
                
            }
            String params[]={"1"};
            em=new EmpModel();
            em.query(params);
            jtable.setModel(em);        
        }
        if(arg0.getSource()==p1_jb)
        {
            String temp=p1_tf.getText().trim();
            String t="";
            for(int i=0;i<temp.length();++i)
            {
                t=t+"%"+temp.charAt(i);
            }
            temp=t+"%";
            System.out.print(temp);
            String params[]={temp};
            em=new EmpModel();
            em.query(params);
            jtable.setModel(em);
            p2.remove(p2_jlb);
            p2_jlb=new JLabel("总记录是"+em.getRowCount()+"条");
            p2.add(p2_jlb);
            
        }
        if(arg0.getSource()==p2_jb3)
        {
            int sum=jtable.getSelectedRowCount();
            int row=jtable.getSelectedRow();
            if(sum<=0)
            {
                JOptionPane.showMessageDialog(null,"请选择一行");
            }
            else if(sum>1)
            {
                JOptionPane.showMessageDialog(null,"请选择一行");
            }
            else{
                update d=new update(new JFrame(),"update",true, em, row);
            }
            
        }
        
    }

}



原创粉丝点击