📄 haircutshopmanage.java
字号:
public QueryAction(String name,String tooltip)
{
super(name);
if(tooltip!=null)
putValue(SHORT_DESCRIPTION,tooltip);
}
public void actionPerformed(ActionEvent e)
{
if("平均逗留时间".equals(getValue(NAME)))
JOptionPane.showMessageDialog(null,"平均逗留时间:"+dateData.averageStayTime+"分","理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
else if("营业额".equals(getValue(NAME)))
JOptionPane.showMessageDialog(null,"营业额:"+dateData.income+"元","理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
else if("队列长度平均值".equals(getValue(NAME)))
JOptionPane.showMessageDialog(null,"队列长度平均值:"+dateData.averageQueueLength,"理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
else if("收尾工作时间".equals(getValue(NAME)))
JOptionPane.showMessageDialog(null,"收尾工作时间:"+dateData.endingWorkTime+"分","理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
else if("各级理发师创收".equals(getValue(NAME)))
{
String s="";
for(int i=0;i<haircutShop.levelBarber.length;i++)
{
s+="第"+(i+1)+"级理发师当前总收入为"+dateData.levelIncome[i]+"\n";
}
JOptionPane.showMessageDialog(null,s,"理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
}
}
}
/**
* 理发师管理事件处理
*/
class BarberManageAction extends AbstractAction
{
public BarberManageAction(String name,String tooltip)
{
super(name);
if(tooltip!=null)
putValue(SHORT_DESCRIPTION,tooltip);
}
public void actionPerformed(ActionEvent e)
{
}
}
class HelpAction extends AbstractAction
{
public HelpAction(String name,String tooltip)
{
super(name);
if(tooltip!=null)
putValue(SHORT_DESCRIPTION,tooltip);
}
public void actionPerformed(ActionEvent e)
{
if("关于".equals(getValue(NAME)))
JOptionPane.showMessageDialog(null,"该软件由林森,赵璐,刘彩凤,闫轶巍,赵岩共同完成。\n\t版权所有,不得翻录!","关于理发店经营软件",JOptionPane.PLAIN_MESSAGE);
}
}
/**
*实现理发师图标的组件
*/
class BarberIcon extends JButton
{
private Barber ba;//理发师
private int level0;//级别
private JLabel name,buyerID,barberID;
private JPanel icon;
public BarberIcon(Barber bar,int leve)
{
this.ba=bar;
this.level0=leve;
name=new JLabel("姓名:"+bar.name);
buyerID=new JLabel("当前手头没有顾客");
icon=new JPanel(new GridLayout(2,1));
icon.setBackground(Color.red);
if(ba.curBuyer!=null)
hasBuyer();
else if(ba.dimissionTime!=null)
comeIn();
barberID=new JLabel("编号:"+bar.barberID);
icon.add(name);
icon.add(buyerID);
setLayout(new BorderLayout());
add(icon,BorderLayout.CENTER);
add(barberID,BorderLayout.SOUTH);
this.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
new BarberIconDialog(ba,level0);
}
});
resize(50,40);
setVisible(true);
}
public void comeIn()
{
icon.setBackground(Color.yellow);
buyerID.setText("当前手头没有顾客");
}
public void go()
{
icon.setBackground(Color.red);
buyerID.setText("当前手头没有顾客");
}
public void hasBuyer()
{
icon.setBackground(Color.green);
buyerID.setText("顾客编号:"+ba.curBuyer.buyerID);
}
}
/**
*实现理发师图标功能的对话框
*/
class BarberIconDialog extends JDialog implements ActionListener
{
private JButton haircut,checkout,comeIn,leave,cancel;
private Barber bar;
int lev;//级别
public BarberIconDialog(Barber bar,int lev)
{ super();
setModal(true);
this.setTitle("理发师功能管理");
this.bar=bar;
this.lev=lev;
comeIn=new JButton("报到");
leave=new JButton("离开");
haircut=new JButton("顾客开始理发");
checkout=new JButton("顾客结帐离开");
cancel=new JButton("取消");
getContentPane().setLayout(new FlowLayout());
getContentPane().add(haircut);
getContentPane().add(checkout);
getContentPane().add(comeIn);
getContentPane().add(leave);
getContentPane().add(cancel);
haircut.addActionListener(this);
checkout.addActionListener(this);
comeIn.addActionListener(this);
leave.addActionListener(this);
cancel.addActionListener(this);
if(bar.beginWorkTime==null||bar.dimissionTime!=null)
{
checkout.setEnabled(false);
haircut.setEnabled(false);
leave.setEnabled(false);
}
else if(bar.curBuyer==null)
{
comeIn.setEnabled(false);
checkout.setEnabled(false);
if(dateData.buyerQueueLength[lev]==0)
haircut.setEnabled(false);
}
else if(bar.curBuyer!=null)
{
comeIn.setEnabled(false);
haircut.setEnabled(false);
}
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==comeIn)
barbercheckIn(bar.barberID);
else if(e.getSource()==leave)
barberLeave(bar.barberID);
else if(e.getSource()==checkout)
buyerLeaveWithCheckOut(bar.barberID);
else if(e.getSource()==haircut)
buyerBeginHaitcut(bar.barberID);
setVisible(false);
dispose();
}
}
/**
*实现级别区图标的组件
*/
class LevelIcon extends JButton
{
private int level0;//级别
JLabel label1,label2,label0;
JTextField textField;
public LevelIcon(int i)//i为级别
{
this.level0=i;
label1=new JLabel((i+1)+"级区");
label0=new JLabel("费用为"+haircutShop.levelFee[i]+"元");
label2=new JLabel("当前队列长:");
textField=new JTextField("0");
textField.setEnabled(false);
setLayout(new GridLayout(4,1));
add(label1);
add(label0);
add(label2);
add(textField);
this.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
new LevelIconDialog(level0);
}
});
pack();
setVisible(true);
}
}
/**
*实现级别图标功能的对话框
*/
class LevelIconDialog extends JDialog implements ActionListener
{
private JButton newBuyer,cancel;
int lev;//级别
public LevelIconDialog(int lev)
{ super();
setModal(true);
this.setTitle("理发师功能管理");
this.lev=lev;
newBuyer=new JButton("新顾客");
cancel=new JButton("取消");
getContentPane().add(newBuyer,BorderLayout.WEST);
getContentPane().add(cancel,BorderLayout.EAST);
newBuyer.addActionListener(this);
cancel.addActionListener(this);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==newBuyer)
newbuyer(lev+1);
setVisible(false);
dispose();
}
}
/**
*实现打开文件功能的对话框
*/
class OpenFileDialog extends JDialog implements ActionListener
{
private JLabel yea,month,date;//年,月,日
private JTextField yeaText,monthText,dateText;
private JButton sure,cancel;
public OpenFileDialog()
{ super();
setModal(true);
this.setTitle("输入要打开的文件建立的时间");
sure=new JButton("确定");
cancel=new JButton("取消");
yea=new JLabel("年");
yeaText=new JTextField();
month=new JLabel("月");
monthText=new JTextField();
date=new JLabel("日");
dateText=new JTextField();
getContentPane().setLayout(new GridLayout(4,2));
getContentPane().add(yea);
getContentPane().add(yeaText);
getContentPane().add(month);
getContentPane().add(monthText);
getContentPane().add(date);
getContentPane().add(dateText);
getContentPane().add(sure);
getContentPane().add(cancel);
sure.addActionListener(this);
cancel.addActionListener(this);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==sure)
{
try
{
int y=Integer.parseInt(yeaText.getText());
int m=Integer.parseInt(monthText.getText());
int d=Integer.parseInt(dateText.getText());
String s=""+y+""+m+""+d+".hsm";
loadFile(s);
}
catch(Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(null,"输入格式错误","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
return;
}
}
setVisible(false);
dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -