
正文
java开发消息提醒代码 java实现消息提醒
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 即时消息提醒
//原代码需要编译
package com.imti.chatdemo;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Date;
/**
*简易网络聊天类
*@1.0版 2009年2月21日
*@author liangzhuoxun
*/
public class Chat extends JFrame implements ActionListener,Runnable
{
JPanel pane1,pane2;//声明面板
JLabel label,label2,label3;//声明标签
JTextField tfield1,tfield2,tfield3;//声明文本框
JTextArea tarea;//声明文本域
JScrollPane scroll;//声明带滚动条的文本域
JButton button,buttont;//声明按钮
String str1,str2,info,s;
Thread thread;
DatagramPacket dp1,dp2;
DatagramSocket ds1,ds2;
/**
*构造方法
*/
public Chat()
{
super("简易聊天工具-作者:liangzhuoxun");
//文本域
tarea=new JTextArea(15,47);
scroll=new JScrollPane(tarea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//标签 文本框面板
pane1=new JPanel();//初始化面板
label=new JLabel("聊天内容:");
tfield1=new JTextField(25);
button=new JButton("发送");
buttont=new JButton("清空聊天内容");
button.addActionListener(this);//添加事件处理器
buttont.addActionListener(this);
tfield1.addKeyListener(
/**
*该匿名类是继承键盘适配器重写按键方法达到将文本框内容输入文本域
*/
new KeyAdapter()
{
public void keyPressed(KeyEvent kevent)
{
str1=new String(tfield1.getText());
if(kevent.getKeyCode()==KeyEvent.VK_ENTER)//判断回车键
{
Integer i=new Integer(tfield3.getText());
try
{
sends();//发送方法
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
);
pane1.add(label);//面板中添加标签
pane1.add(tfield1);//面板中添加文本框
pane1.add(button);//添加按钮
pane1.add(buttont);
pane2=new JPanel();
tfield2=new JTextField("127.0.0.1",15);
tfield3=new JTextField("5000",5);
label2=new JLabel("输入发送的目的地:");
label3=new JLabel(" 端口号:");
pane2.add(label2);
pane2.add(tfield2);
pane2.add(label3);
pane2.add(tfield3);
this.add(pane2,"North"); //设置窗口布局
this.add(scroll,"Center");//窗口中添加带滚动条文本域
this.add(pane1,"South");//窗口中添加面板
this.setBounds(100,150,550,400);//设置窗口位置和大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭按钮方式
this.show(); //窗口可视
Thread thread=new Thread(this);
thread.start();
}
/**
*实现按钮发送的方法
*/
public void actionPerformed(ActionEvent event)
{
str2=new String(event.getActionCommand());
if(str2.equals("发送"))
{
try
{
sends();//发送方法
}
catch(Exception e)
{
e.printStackTrace();
}
}else if(str2.equals("清空聊天内容"))
{
Toolkit.getDefaultToolkit().beep();//调用"滴"声音
tarea.setText("");
JOptionPane.showMessageDialog(null,"清空完成!!!");//对话框
}
}
/**
*发送信息的方法
*/
public void sends() throws Exception
{
str1=new String(tfield1.getText());
Integer i=new Integer(tfield3.getText());
ds1=new DatagramSocket();
dp1=new DatagramPacket(str1.getBytes(),(str1.getBytes()).length,
InetAddress.getByName(tfield2.getText()),i);
ds1.send(dp1);
ds1.close();
int len=(tarea.getText()).length();//求出文本域里已有内容长度
Date time=new Date();
//将发送内容放置文本域里
tarea.insert("\r\n\n发至:"+dp1.getAddress().getHostAddress()+" 时间:"+
time.toLocaleString()+"\n"+tfield1.getText()+"\n",len);//将文本框中内容插入指定位置
tfield1.setText(""); //清空文本框
}
/**
*实现Runnable接口的run方法
*/
public void run()
{
while(true)
{
try
{
Thread.currentThread().sleep(600);//线程暂停0.6秒
s=Receives();
if(s.length()0)
{
tarea.setText(tarea.getText()+"\n"+s);
}
}catch(Exception ie)
{
ie.printStackTrace();
}
}
}
//接收信息的方法
public String Receives() throws Exception
{
ds2=new DatagramSocket(5000);
byte[] buf=new byte[1024];
dp2=new DatagramPacket(buf,1024);
ds2.receive(dp2);
String s="来自:"+dp2.getAddress()+" 时间:"+new Date().toLocaleString()
+"\n"+new String(dp2.getData(),0,dp2.getLength());
ds2.close();
return s;
}
/**
*主函数
*/
public static void main(String[] args)
{
Chat c=new Chat();
}
}
//这是java的原代码 拿过去编译下就可以用了
相关问答
Q1: Java如何实现定时提醒功能
在body的noload里面有个setInterval定时器:
body style="height: 700px; overflow: 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);
}
}
});
}
便签吧?大概的思路,希望对你有帮助!
Q2: java消息通知怎么做
java消息通知有两种方案:
1.如果是平台级别的系统,可使用第三方消息推送服务,例如极光,用这个来做消息订阅与分发。
2.如果只是简简单单的需要提示到web页面,可以用js 定时ajax访问后台,后台来确定是否有数据更新,无论这个数据是哪来的。
消息通知可以了解一下极光推送
Q3: java的SystemTray跳出提示的代码?就像xp的网络连接那样,连接成功会弹出一个网络已连接
弹出消息,可以使用 TrayIcon 的 displayMessage() 方法,代码如下:
import java.awt.*;
import java.awt.TrayIcon.MessageType;
import javax.swing.JButton;
import javax.swing.JFrame;
public class App extends JFrame {
private static final long serialVersionUID = 1L;
private TrayIcon trayIcon;
public App() {
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
JButton btnTest = new JButton("弹出消息");
btnTest.addActionListener(e - {
// 弹出消息
trayIcon.displayMessage("Tray Demo", "Hello World!", MessageType.INFO);
});
this.add(btnTest);
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("images/tray16.png");
this.trayIcon = new TrayIcon(image);
try {
tray.add(trayIcon);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
Q4: java 怎么实现消息提醒功能
首先数据库要一张消息表,记录消息体信息。包括消息主题、用户id、时间、发出页面、消息状态。
主体实现主要是用js控制,我们用的dwr技术,将消息体的获取,时间控制及当前时间要显示的消息个数,都写到dwr配置的类中。
接着在消息js中通过dwr生成的js名称调用上述的方法获取消息信息,将数据封装到js中,在需要使用消息的页面只需要导入消息js、dwr的js就可以使用了。
Q5: java 定时提醒
先写这么一个一个类。用来做你要做的事情
import java.util.TimerTask;
/**
* @author songml
*
*/
public class ReportGenerator extends TimerTask {
public void run() {
System.out.println("doing something start");
}
}
再写一个定义时间的类。用来设定时间,一旦到了设定时间,调用上一个类
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
class MainApplication {
public static void main(String[] args) {
Timer timer = new Timer();
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//设定当月的14号的上午10点23分11秒启动
calendar.set(Calendar.DATE, 14);
calendar.set(Calendar.HOUR, 10);
calendar.set(Calendar.MINUTE, 23);
calendar.set(Calendar.SECOND, 11);
//格式化时间
System.out.println("程序开始的时间是:"+df.format(calendar.getTime()));
timer.schedule(new ReportGenerator(), // TimerTask
calendar.getTime(), // Timer
1000*60*60*24);// delay
}
}
//注意如果要设定月份的话,要减一
//比如设定11月的话,用下面的代码
//calendar.set(Calendar.MONTH, 11-1);
关于java开发消息提醒代码和java实现消息提醒的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







