//本小项目参照韩顺平老师的视频所编
/*
* 用户登录的闪屏效果
*/
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);
}
}
}
}