当前位置:编程学习 > C#/ASP.NET >>

ASP.NET 加Ajax做一个聊天窗体

 

在一个页面实现,和QQ聊天窗体一样,只需要传输文字就可以了。

要实现无刷新

追问:ASP.NET怎么实现啊  我不懂JAVA

答案:
要是aspnet的话 直接加AJAX控件就好啦 可以设置定时自动刷新显示对话的文本框~
java 可以实现将程序最小化到托盘的吧.....
甚至还可以设定最小化到托盘的图标,这样的话,当有新消息到达时,你可以把它的图标设置成无色的另一图片(或者只将其最小化,而不设置其图标),然后再设置成原来的图片,如此反复,就实现了闪烁的功能.........
不过似乎先要判断当前操作系统是否支持系统托盘..........下面这个程序实现了系统托盘,但是似乎在我的电脑上没实现出来,难道操作系统不支持?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SystemTrayTest extends JFrame implements ActionListener
{
//创建菜单、菜单项数组、消息类型
PopupMenu popup=new PopupMenu();
Menu menu=new Menu("消息类型");
MenuItem[] itemArray ={new MenuItem("信息消息"),new MenuItem("常规消息"),
   new MenuItem("警告消息"),new MenuItem("错误消息"),new MenuItem("退出程序")};
//定义系统托盘、托盘图标变量
SystemTray tray;
TrayIcon trayIcon;
//构造方法
public SystemTrayTest(){
  //对菜单项添加监听并将菜单项添加到菜单中
  for(int i=0;i<itemArray.length;i++){
   if(i<4){
    itemArray[i].addActionListener(this);//为菜单项注册易做图
    //将菜单项数组中前3个菜单项添加进"弹出消息"菜单中
    menu.add(itemArray[i]);
   }
   itemArray[4].addActionListener(this);//添加监听
   popup.add(menu);//将弹出消息菜单添加到菜单中
   popup.add(itemArray[4]);//将退出菜单添加到菜单中
  }
  // 判断当前操作系统是否支持系统托盘
  if (SystemTray.isSupported()) {
   //获取系统托盘
   tray = SystemTray.getSystemTray();
   //加载图标
   Image image = Toolkit.getDefaultToolkit().getImage("d:/trayIcon.jpg");
   //创建托盘图标
   trayIcon=new TrayIcon(image,"系统托盘测试",popup);
   //托盘图标自动设置尺寸
   trayIcon.setImageAutoSize(true);
   try{//添加托盘图标到系统托盘中
    tray.add(trayIcon);
   }
   catch(AWTException e){
    e.printStackTrace();
   }
   //为托盘图标注册易做图
   trayIcon.addActionListener(this);
  }
  //设置窗体关闭按扭所执行的动作
  this.addWindowListener(
   new WindowAdapter(){
    public void windowClosing(WindowEvent e){
     SystemTrayTest.this.hide();//隐藏窗体
    }
   });
  //设置窗体属性
  this.setTitle("系统托盘测试");
  this.setBounds(200,200,150,100);
  this.setVisible(true);
}
//重写actionPerformed方法
public void actionPerformed(ActionEvent e){
  if(e.getSource()==itemArray[0])
  {//点击信息消息菜单项执行的动作
   trayIcon.displayMessage("信息","程序最小化,仍在运行",TrayIcon.MessageType.INFO);
  }else if(e.getSource()==itemArray[1])
  {//点击信息消息菜单项执行的动作
   trayIcon.displayMessage("常规信息","现在一切正常",TrayIcon.MessageType.NONE);
  }else if(e.getSource()==itemArray[2])
  {//单击警告消息菜单项执行的动作
   trayIcon.displayMessage("警告信息","有不明来源的攻击",TrayIcon.MessageType.WARNING);
  }else if(e.getSource()==itemArray[3])
  {//点击错误消息菜单项执行的动作
   trayIcon.displayMessage("错误信息","程序发生严重错误",TrayIcon.MessageType.ERROR);
  }else if(e.getSource()==itemArray[4])
  {//点击退出程序菜单项执行的动作
   System.exit(0);
  }else if(e.getSource()==trayIcon)
  {//双击托盘图标执行的代码
   this.show(true);
  }
}
//主方法
public static void main(String args[])
{//创建SystemTrayTest窗体对象
  new SystemTrayTest();
}
}

上一个:net2005使用微软的ajax控件库的时候怎么声明使用?
下一个:AJAX大量数据的传递问题,很多很多……

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,