java实现提醒功能

java实现提醒功能,第1张

实现提醒功能给你思路吧。

你可以写单独写个线程监视是否有消息传回,然后刷新页面。至于怎么刷新页面其实很简单,写一个事件接口。然后UI页面实现这个接口。有消息传回的时候就刷新页面。

至于系统托盘我给你一个我无聊写的倒计时程序片段,其中有系统托盘。

/**

* 设置系统托盘图标及快捷菜单

*/

private void setIcon(){

addWindowStateListener(new WindowStateListener() {

public void windowStateChanged(WindowEvent e) {

if (getState() == 1) {

setVisible(false)

}

}

})

if (SystemTray.isSupported()) {

tray = SystemTray.getSystemTray()

}

Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("china.gif"))

ActionListener defaultListener = new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

if (e.getActionCommand().equals( "exit")) {

exit()

}

} catch (Exception ex) {

System.out.println("hehehe"+ex.getMessage())

}

}

}

ActionListener openListener = new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

if (e.getActionCommand().equals("display")) {

setVisible(true)

}

} catch (Exception ex) {

System.out.println("haha"+ex.getMessage())

}

}

}

popup = new PopupMenu()

// 创建[显示]菜单及其事件

MenuItem openItem = new MenuItem("显示")

openItem.addActionListener(openListener)

openItem.setActionCommand("display")

popup.add(openItem)

// 创建[退出]菜单及其事件

MenuItem defaultItem = new MenuItem("退出")

defaultItem.addActionListener(defaultListener)

defaultItem.setActionCommand("exit")

popup.add(defaultItem)

// 右键图标

trayIcon = new TrayIcon(image, "Java倒计时", popup)

trayIcon.setImageAutoSize(true)

trayIcon.addActionListener(defaultListener)

trayIcon.addMouseListener(new MouseAdapter() {

@SuppressWarnings("static-access")

public void mouseClicked(MouseEvent e) {

// 点击系统托盘图标和鼠标左键

if (e.getSource() == trayIcon &&e.getButton() == e.BUTTON1) {

if (e.getClickCount() == 2)// 双击

{

setVisible(true)

}

}

}

})

try {

tray.add(trayIcon)

} catch (AWTException e1) {

//e1.printStackTrace()

System.out.println("heihei"+e1.getMessage())

}

}

在body的noload里面有个setInterval定时器:

<body style="height: 700pxoverflow: hidden" onload="setInterval('timedAlert()',10000)">

js脚本:

//ajax判断是否有提醒数据

function timedAlert(){

$.ajax({

type: "get",

url: "${basePath}/plugins/km/headlink/checkNoteCount.jspx",

dataType: "text",

cache: false,

success: function(data){

alert(data)

if(data=='0'){

alert(1)//你的代码

}else{

alert(22)

}

}

})

}

便签吧?大概的思路,希望对你有帮助!

首先数据库要一张消息表,记录消息体信息。包括消息主题、用户id、时间、发出页面、消息状态。

主体实现主要是用js控制,我们用的dwr技术,将消息体的获取,时间控制及当前时间要显示的消息个数,都写到dwr配置的类中。

接着在消息js中通过dwr生成的js名称调用上述的方法获取消息信息,将数据封装到js中,在需要使用消息的页面只需要导入消息js、dwr的js就可以使用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11229994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存