package wang.handler;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import javax.swing.event.*;
import wang.domain.*;
import wang.panel.*;
import wang.common.*;
import wang.factory.*;
import li.event.*;
public class MessageHandler extends MoveObjectHandler
{
private ButtonsPanel buttonsPanel;
private Clock wClock;
private Clock eClock;
private TipPanel tipPanel;
private MoveObjectPanel wMoveObjectPanel;
private int amount=120;
private int count=0;
private int lastTime=60;
private JPanel north;
private JButton start;
private JButton show;
private JButton save;
private JButton exit;
private EventListenerList list=new EventListenerList();
public MessageHandler()
{
}
public void init(int delay)
{
super.init(delay);
this.amount=MoveObjectHandlerFactory.getIntegerProperties("amountMinutes")*60;
this.lastTime=MoveObjectHandlerFactory.getIntegerProperties("lastMinutes")*60;
north=new JPanel(new BorderLayout());
tipPanel=new TipPanel("耐心,细心");
wMoveObjectPanel=new MoveObjectPanel();
wClock=new Clock(wMoveObjectPanel);
wMoveObjectPanel.addMoveObject(wClock);
wMoveObjectPanel.setOpaque(true);
wMoveObjectPanel.setBackground(Color.yellow);
eClock=new Clock(moveObjectPanel);
moveObjectPanel.addMoveObject(eClock);
moveObjectPanel.setOpaque(true);
moveObjectPanel.setBackground(Color.yellow);
Border border=BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.LIGHT_GRAY,Color.DARK_GRAY);
moveObjectPanel.setBorder(border);
wMoveObjectPanel.setBorder(border);
border=BorderFactory.createBevelBorder(BevelBorder.LOWERED,Color.LIGHT_GRAY,Color.DARK_GRAY);
tipPanel.setBorder(border);
north.add(wMoveObjectPanel,BorderLayout.WEST);
north.add(moveObjectPanel,BorderLayout.EAST);
north.add(tipPanel);
buttonsPanel=new ButtonsPanel(4);
String[] titles={"开始",
"显示",
"保存",
"退出"
};
buttonsPanel.setTitles(titles);
start=buttonsPanel.getButton(0);
show=buttonsPanel.getButton(1);
show.setEnabled(false);
save=buttonsPanel.getButton(2);
save.setEnabled(false);
exit=buttonsPanel.getButton(3);
start.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
timer.start();
tipPanel.setMessage("耐心,细心");
start.setEnabled(false);
save.setEnabled(false);
currentChanged(CustomeEvent.START);
}
}
);
show.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
show.setEnabled(false);
save.setEnabled(true);
start.setText("重新开始");
start.setEnabled(true);
currentChanged(CustomeEvent.SHOW);
}
}
);
save.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
save.setEnabled(false);
start.setText("重新开始");
start.setEnabled(true);
currentChanged(CustomeEvent.SAVE);
}
}
);
exit.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
);
}
public MessageHandler(int delay)
{
init(delay);
}
public JPanel getNorthPanel()
{
return north;
}
public JPanel getButtonsPanel()
{
return buttonsPanel;
}
private String getRemainTime()
{
String msg="倒计时开始 00:00:"+((amount-count < 10) ? "0" : "")+String.valueOf(amount-count);
return msg;
}
public void actionPerformed(ActionEvent e)
{
count++;
if(amount-count < lastTime)
tipPanel.setMessage(getRemainTime());
if(count > amount)
{
timer.stop();
currentChanged(CustomeEvent.STOP);
count=0;
show.setEnabled(true);
save.setEnabled(true);
tipPanel.setMessage("时间到");
return;
}
moveObjectPanel.move();
wMoveObjectPanel.move();
}
private void currentChanged(int value) // 当前值发生变化时产生事件对象,对象中存放信息
{
CustomeEvent event=new CustomeEvent(this,value);
fireCustomAction(event);
}
public void addCustomeListener(CustomeListener listener) // 给用户提供添加监听器的接口
{
list.add(CustomeListener.class,listener);
}
public void removeCustomeListener(CustomeListener listener)
{
list.remove(CustomeListener.class,listener);
}
public void fireCustomAction(CustomeEvent event)
{ // 将事件对象从事件列表中取出来
EventListener[] listeners=list.getListeners(CustomeListener.class);
for(int i=0;i<listeners.length;i++)
{
((CustomeListener)listeners[i]).customAction(event);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
+评价+日期.rar (55个子文件)
小学生算术测试系统菜单+评价+日期
ArithmeticHandler.java 4KB
MoveObject.java 268B
ClockHandler.java 567B
MainFrame.java 1KB
message.mdl 168KB
ResultsDAO.java 958B
CustomeEvent.java 399B
CenterPanel.java 778B
MoveObjectHandler.java 538B
MoveObjectHandlerFactory.java 1KB
wang
panel
CenterPanel.class 1KB
MoveObjectPanel.class 865B
ClockPanel.class 855B
TipPanel.class 1KB
ArithmeticPanel.class 2KB
dao
ResultsDAO.class 1KB
app
MainFrame.class 1KB
domain
Problem.class 2KB
Clock.class 1KB
Evaluate.class 1KB
MoveObject.class 349B
common
CustomDocument.class 528B
Handler.class 254B
ButtonsPanel.class 1016B
menu
MyMenuBar.class 2KB
MyMenuBar$3.class 969B
MyMenuBar$2.class 565B
MyMenuBar$1.class 1KB
handler
ClockHandler.class 690B
MessageHandler.class 5KB
Handler.class 238B
MoveObjectHandler.class 684B
MessageHandler$4.class 605B
MessageHandler$3.class 893B
ArithmeticHandler$1.class 2KB
MessageHandler$1.class 1KB
ArithmeticHandler.class 5KB
MessageHandler$2.class 931B
factory
MoveObjectHandlerFactory.class 1KB
ArithmeticPanel.java 1KB
CustomDocument.java 476B
results.dat 420B
ButtonsPanel.java 726B
Evaluate.java 1KB
Clock.java 851B
message.md~ 166KB
Problem.java 2KB
MyMenuBar.java 3KB
CustomeListener.java 150B
MoveObjectPanel.java 657B
li
event
CustomeEvent.class 488B
CustomeListener.class 203B
MessageHandler.java 5KB
TipPanel.java 610B
data.propertites 80B
共 55 条
- 1
woye2008
- 粉丝: 10
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
- docker安装部署全流程
- 基于树莓派的人脸识别系统python源码+项目部署说明+超详细代码注释.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Java知识体系最强总结(2021版).txt
- Python知识点Python知识点Python知识点Python知识点Python知识点PythonPython知识点.txt
- Java开发基于seetaface6的人脸识别(活体检测)的封装源码.zip
- JSP在线失物招领管理平台源码.zip
- JSP在线旅游美食展现管理系统源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页