满汉楼主界面:
/*
:这是系统管理员,经理、主管
完成界面的顺序,从上到下,从左到右
菜单栏的制作
附加:工具栏的制作
工具栏和菜单栏的区别是什么???
在工具栏下面处理P1面板
第二个问题:
如何处理p2,p3,p4 面板???
p2 p3是被p4包起来的???怎么理解???
*/
package com.mhl.view;
import javax.swing.*;
import java.awt.*;
import awt.event.*;
import javax.imageio.*;
import java.io.*;
import java.util.*;
//主界面是JFrame
public class Windows1 extends JFrame implements ActonListener
{
//定义需要的组件
Image titelIcon ,timeGg;
// 做菜单
JMenuBar jmb;
//一级餐单
JMenu jm1,jm2,jm3,jm4,jm5,jm6;
//二级菜单
JMenuItem jmm1,jmm2,jmm3,jmm4,jmm5;'
// 为菜单选项设置图标
ImageIcon jmm1_icon1,jmm2_icon2,jmm3_icon3,jmm4_icon4,jmm5_icon5;
//工具栏
JToolBar jtb;
JButton JB1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10;
//定义需要的五个面板
JPanel p1,p2,p3,p4,p5;
//显示当前时间的一个JLabel
JLabel p2_lab1,p2_lab2;
JLabel timeNow;
JLabel p1_lab1,p1_lab2,p1_lab3,p1_lab4,p1_lab5,p1_lab6,p1_lab7,p1_lab8;
// 给p2面板定义需要的JLabel
//javax.swing包中的Timer类可以定时的触发一个Action时间,我们可以利用它来完成一些事情
//
ImagePanel p1_imgPanel;//这句话是什么意思???什么作用??
JSPlitPane jsp1;//???查分窗口???
public static void main(String[] args)
{
}
public Windows1()
{
//在构造函数中创建组件
titelIcon =ImageIO.read(new File("image\\jiubei.gif"));//这句话如何理解???什么是ImageIcon???
//写代码,就近原则,把二级菜单直接写在各个一级菜单下面
//创建图标,把图标图片,放大工作区的Image文件夹下
jmm1_icon1=new ImageIcon("image\\dl.gif");
jmm2_icon2=new ImageIcon("image\\qh.gif");
// 创建一级菜单
jm1=new JMenu("系统管理");
jm1.setFont(f1);//设置显示字体
//创建它的二级菜单
jmm1=new JMenuItem("切换用户",jmm1_icon1);//如何理解这个参数 ?? jmm1_icon1参数是二级菜单的图标
jmm2=new JMenuItem("切换到收款界面");
jmm3=new JMenuItem("登录管理");
jmm4=new JMenuItem("万年历");
jmm5=new JMenuItem("退出");
//把二级菜单加入到相应的一级菜单下
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("成本及库房");
jm1=new JMenu("帮助管理");
//把一级菜单加入到JMenuBar
jmb=new JMenuBar();
jmb.add(jm1);
jmb.add(jm2);
jmb.add(jm3);
jmb.add(jm4);
jmb.add(jm5);
jmb.add(jm6);
// 把JMenuBar添加到JFrame
this.setJMenuBar(jmb);
//处理工具栏的组件
jtb=new JToolBar();
//设置工具栏不可以移动
jtb.setFloatable(false);
jb2=new JButton(new ImageIcon("image\qh1.gif"));
jb3=new JButton(new ImageIcon("qh1.gif"));
jb4=new JButton(new ImageIcon("qh1.gif"));
jb5=new JButton(new ImageIcon("qh1.gif"));
jb6=new JButton(new ImageIcon("qh1.gif"));
jb7=new JButton(new ImageIcon("qh1.gif"));
jb8=new JButton(new ImageIcon("qh1.gif"));
jb9=new JButton(new ImageIcon("qh1.gif"));
jb10=new JButton(new ImageIcon("qh1.gif"));
//把按钮加入到jtb中
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);
//主面板 处理p1面板 Label不仅有图标,还有显示文本,和能响应点击事件。
p1=new JPanel(new BorderLayout()); //构造一个边界布局的面板
Image p1_bg=ImageIO.read(new File("image/p1.gif") )// 这句话是什么意思???
// 什么是图片面板???
this.p1_imgPanel=new ImagePanel(p1_bg);//这句是什么意思???
this.p1_imgPanel.setLayout(new GridLayout(8,1)); // 做一个8行1列网格布局
p1_imgPanel.add(new JLabel(new ImageIcon("image/09.gif"))); // 这句是什么意思?
//加入第二个label
p1_imgPanel.add(new JLabel(,"人 事 管 理",new ImageIcon("image/rs.gif"))));// 如何理解JLabel的构造函数??
//加入第三个label
p1_imgPanel.add(new JLabel("登录管理",new ImageIcon("image/dlg.gif")));
//加入第四个label
p1_imgPanel.add(new JLabel("菜谱价格",new ImageIcon("image/cp.gif")));
//加入第五个
p1_imgPanel.add("报表统计",new JLabel(new ImageIcon("image/bbtj.gif")));
//加入第6个label
p1_imgPanel.add(new JLabel("成本及库房",new ImageIcon("image/cbjkf.gif")));
//加入第六个
p1_imgPanel.add(new JLabel("系统设置",new ImageIcon("image/xtsz.gif")));
//加入第七个
p1_imgPanel.add(new JLabel("动画帮助",new ImageIcon("image/dhbz.gif")));
p1.add(this.p1_imgPanel); // ???
//处理p2,p3,p4
//怎么理解:p4Border布局放了俩个面板:p2,p3
//p4 是一个BorderLayout,p2放在它的west,p3放在Center,并且p2,p3是CardLayout.
p4=new JPanel(new BorderLayout());
p2=new JPanel(new carLayout());// 什么是卡片布局???
//讲解CarLayout
p2_lab1=new JLabel(new ImageIcon("image/21.gif"));
p2_lab2=new JLabel(new ImageIcon("image/22.gif"));
// 把p2,p3,加入到P4中
P2.add(p1_lab1,"0");
p2.add(p1_lab2,"1");
p3=new JPanel(new CarLayout());
// 先给P3加入一个主界面的卡片ImagePanel
Image zhu_image=null;
zhu_image=ImageIO.read(new File("image/oo.gif"));
ImagePanel ip=new ImagePanel("image/00.gif");
p3.add(ip,"0");
// 把p2,p3加入到p4
p4.add(p2,"West");
p4.add(p3,"Center");
// 做一个拆分窗口,分别存放
jsp1=new JSPlitPane(JSplitPane.HORIZONTAL_SPLIT,true,p1,p4);
// 指定左边的面板占多大像素
jsp1.setDividerLocation(120);
//处理p5面板
p5=new JPanel(new BorderLayout());//把p5变为边界布局
//创建timer
t=new Timer(1000,this);//每隔1秒触发Actionlistener事件
//启动该定时器
timeNow=new JLabel(Calendar.getInstance().getTime().toString())
tmeGg=ImageIO.read(new File("image/zhuangtailan.gif"));
ImagePanel ip1=new ImagePanel(timeGg);
ip1.setLayout(new BorderLayout());
ip1.add(timeNow,"East");
p5.add(ip1);
t.start();
//从JFrame中取得Container
Container ct=this.getContentPane();
ct.add(jtb,"North"); //把工具栏加入到JFrame的North方位。
// 如何理解这个jsp1 ???
ct.add(jsp1,"Center"); //把面板p1加入到面板中
ct.add(p5,"SOURTH");// 把p5加入到框架
//设置大小
int w=Toolkit.getDefaultToolkit().getScreenSize().width;
int h=Toolkit.getDefaultToolkit().getScreenSize().height;
//关闭窗口时,退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当执行关闭窗口操作时,关闭进程
//设置窗口图片
this.setIconImage(titelIcon);
this.setTitle("满汉楼餐饮管理系统");
this.setSize(w,h-25);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0)
{
this.timeNow.setText(Calendar.getInstance().getTime().toString());
}
}
/*
:这是系统管理员,经理、主管
完成界面的顺序,从上到下,从左到右
菜单栏的制作
附加:工具栏的制作
工具栏和菜单栏的区别是什么???
在工具栏下面处理P1面板
第二个问题:
如何处理p2,p3,p4 面板???
p2 p3是被p4包起来的???怎么理解???
*/
package com.mhl.view;
import javax.swing.*;
import java.awt.*;
import awt.event.*;
import javax.imageio.*;
import java.io.*;
import java.util.*;
//主界面是JFrame
public class Windows1 extends JFrame implements ActonListener
{
//定义需要的组件
Image titelIcon ,timeGg;
// 做菜单
JMenuBar jmb;
//一级餐单
JMenu jm1,jm2,jm3,jm4,jm5,jm6;
//二级菜单
JMenuItem jmm1,jmm2,jmm3,jmm4,jmm5;'
// 为菜单选项设置图标
ImageIcon jmm1_icon1,jmm2_icon2,jmm3_icon3,jmm4_icon4,jmm5_icon5;
//工具栏
JToolBar jtb;
JButton JB1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10;
//定义需要的五个面板
JPanel p1,p2,p3,p4,p5;
//显示当前时间的一个JLabel
JLabel p2_lab1,p2_lab2;
JLabel timeNow;
JLabel p1_lab1,p1_lab2,p1_lab3,p1_lab4,p1_lab5,p1_lab6,p1_lab7,p1_lab8;
// 给p2面板定义需要的JLabel
//javax.swing包中的Timer类可以定时的触发一个Action时间,我们可以利用它来完成一些事情
//
ImagePanel p1_imgPanel;//这句话是什么意思???什么作用??
JSPlitPane jsp1;//???查分窗口???
public static void main(String[] args)
{
}
public Windows1()
{
//在构造函数中创建组件
titelIcon =ImageIO.read(new File("image\\jiubei.gif"));//这句话如何理解???什么是ImageIcon???
//写代码,就近原则,把二级菜单直接写在各个一级菜单下面
//创建图标,把图标图片,放大工作区的Image文件夹下
jmm1_icon1=new ImageIcon("image\\dl.gif");
jmm2_icon2=new ImageIcon("image\\qh.gif");
// 创建一级菜单
jm1=new JMenu("系统管理");
jm1.setFont(f1);//设置显示字体
//创建它的二级菜单
jmm1=new JMenuItem("切换用户",jmm1_icon1);//如何理解这个参数 ?? jmm1_icon1参数是二级菜单的图标
jmm2=new JMenuItem("切换到收款界面");
jmm3=new JMenuItem("登录管理");
jmm4=new JMenuItem("万年历");
jmm5=new JMenuItem("退出");
//把二级菜单加入到相应的一级菜单下
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("成本及库房");
jm1=new JMenu("帮助管理");
//把一级菜单加入到JMenuBar
jmb=new JMenuBar();
jmb.add(jm1);
jmb.add(jm2);
jmb.add(jm3);
jmb.add(jm4);
jmb.add(jm5);
jmb.add(jm6);
// 把JMenuBar添加到JFrame
this.setJMenuBar(jmb);
//处理工具栏的组件
jtb=new JToolBar();
//设置工具栏不可以移动
jtb.setFloatable(false);
jb2=new JButton(new ImageIcon("image\qh1.gif"));
jb3=new JButton(new ImageIcon("qh1.gif"));
jb4=new JButton(new ImageIcon("qh1.gif"));
jb5=new JButton(new ImageIcon("qh1.gif"));
jb6=new JButton(new ImageIcon("qh1.gif"));
jb7=new JButton(new ImageIcon("qh1.gif"));
jb8=new JButton(new ImageIcon("qh1.gif"));
jb9=new JButton(new ImageIcon("qh1.gif"));
jb10=new JButton(new ImageIcon("qh1.gif"));
//把按钮加入到jtb中
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);
//主面板 处理p1面板 Label不仅有图标,还有显示文本,和能响应点击事件。
p1=new JPanel(new BorderLayout()); //构造一个边界布局的面板
Image p1_bg=ImageIO.read(new File("image/p1.gif") )// 这句话是什么意思???
// 什么是图片面板???
this.p1_imgPanel=new ImagePanel(p1_bg);//这句是什么意思???
this.p1_imgPanel.setLayout(new GridLayout(8,1)); // 做一个8行1列网格布局
p1_imgPanel.add(new JLabel(new ImageIcon("image/09.gif"))); // 这句是什么意思?
//加入第二个label
p1_imgPanel.add(new JLabel(,"人 事 管 理",new ImageIcon("image/rs.gif"))));// 如何理解JLabel的构造函数??
//加入第三个label
p1_imgPanel.add(new JLabel("登录管理",new ImageIcon("image/dlg.gif")));
//加入第四个label
p1_imgPanel.add(new JLabel("菜谱价格",new ImageIcon("image/cp.gif")));
//加入第五个
p1_imgPanel.add("报表统计",new JLabel(new ImageIcon("image/bbtj.gif")));
//加入第6个label
p1_imgPanel.add(new JLabel("成本及库房",new ImageIcon("image/cbjkf.gif")));
//加入第六个
p1_imgPanel.add(new JLabel("系统设置",new ImageIcon("image/xtsz.gif")));
//加入第七个
p1_imgPanel.add(new JLabel("动画帮助",new ImageIcon("image/dhbz.gif")));
p1.add(this.p1_imgPanel); // ???
//处理p2,p3,p4
//怎么理解:p4Border布局放了俩个面板:p2,p3
//p4 是一个BorderLayout,p2放在它的west,p3放在Center,并且p2,p3是CardLayout.
p4=new JPanel(new BorderLayout());
p2=new JPanel(new carLayout());// 什么是卡片布局???
//讲解CarLayout
p2_lab1=new JLabel(new ImageIcon("image/21.gif"));
p2_lab2=new JLabel(new ImageIcon("image/22.gif"));
// 把p2,p3,加入到P4中
P2.add(p1_lab1,"0");
p2.add(p1_lab2,"1");
p3=new JPanel(new CarLayout());
// 先给P3加入一个主界面的卡片ImagePanel
Image zhu_image=null;
zhu_image=ImageIO.read(new File("image/oo.gif"));
ImagePanel ip=new ImagePanel("image/00.gif");
p3.add(ip,"0");
// 把p2,p3加入到p4
p4.add(p2,"West");
p4.add(p3,"Center");
// 做一个拆分窗口,分别存放
jsp1=new JSPlitPane(JSplitPane.HORIZONTAL_SPLIT,true,p1,p4);
// 指定左边的面板占多大像素
jsp1.setDividerLocation(120);
//处理p5面板
p5=new JPanel(new BorderLayout());//把p5变为边界布局
//创建timer
t=new Timer(1000,this);//每隔1秒触发Actionlistener事件
//启动该定时器
timeNow=new JLabel(Calendar.getInstance().getTime().toString())
tmeGg=ImageIO.read(new File("image/zhuangtailan.gif"));
ImagePanel ip1=new ImagePanel(timeGg);
ip1.setLayout(new BorderLayout());
ip1.add(timeNow,"East");
p5.add(ip1);
t.start();
//从JFrame中取得Container
Container ct=this.getContentPane();
ct.add(jtb,"North"); //把工具栏加入到JFrame的North方位。
// 如何理解这个jsp1 ???
ct.add(jsp1,"Center"); //把面板p1加入到面板中
ct.add(p5,"SOURTH");// 把p5加入到框架
//设置大小
int w=Toolkit.getDefaultToolkit().getScreenSize().width;
int h=Toolkit.getDefaultToolkit().getScreenSize().height;
//关闭窗口时,退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当执行关闭窗口操作时,关闭进程
//设置窗口图片
this.setIconImage(titelIcon);
this.setTitle("满汉楼餐饮管理系统");
this.setSize(w,h-25);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0)
{
this.timeNow.setText(Calendar.getInstance().getTime().toString());
}
}