導航:首頁 > 編程語言 > java實現收到新消息彈出

java實現收到新消息彈出

發布時間:2023-07-03 08:16:10

A. java彈出新窗口

定義一個按鈕的OnClick事件
裡面用寫方法調用彈出窗口

代碼
import java.awt.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Frame1 extends JFrame
{
private JButton jButton1=new JButton();

public Frame1 ()
{
try {
jbInit();
}
catch(Exception exception) {
exception.printStackTrace();
}
this.setVisible(true);
}

private void jbInit () throws Exception
{
this.setBounds(300,180,400,300);
getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(127, 120, 139, 36));
jButton1.setMnemonic('C');
jButton1.setText("點我(C)");
jButton1.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(jButton1);
}

public static void main (String[] args)
{
Frame1 frame1=new Frame1();
}

public void jButton1_actionPerformed (ActionEvent e)
{
this.setVisible(false);
JFrame jf1=new JFrame("子窗口");
jf1.setBounds(100,50,800,600);
jf1.setDefaultCloseOperation(jf1.EXIT_ON_CLOSE);
jf1.setVisible(true);
}
}

B. jsp怎麼彈出「您有1條新消息」這樣的提示框

消息提示頁面1.jsp,可以參考參考

<%@ page import="org.springframework.web.context.WebApplicationContext,
org.springframework.web.context.support.WebApplicationContextUtils,
com.seipher.waterSYS..IPromptDAO,
java.util.List"%>
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<meta http-equiv="refresh" content="300">

<HTML><HEAD>
<%
WebApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
IPromptDAO promptDAO = (IPromptDAO) appContext.getBean("PromptDAOProxy");
Long depId = (Long)session.getAttribute("departmentId");
List result = promptDAO.findByDepUnRead(depId);
if ( result.size()> 0 ) {

%>
<SCRIPT language=JavaScript>
<!--

/**//*
** ==================================================================================================
** 類名:CLASS_MSN_MESSAGE
** 功能:提供類似MSN消息框
** 示例:
---------------------------------------------------------------------------------------------------

var MSG = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天請我吃飯哈");
MSG.show();

---------------------------------------------------------------------------------------------------
** 作者:ttyp
** 郵件:[email protected]
** 日期:2005-3-18
** ==================================================================================================
**/

/**//*
* 消息構造
*/
function CLASS_MSN_MESSAGE(id,width,height,caption,title,message,target,action){
this.id = id;
this.title = title;
this.caption= caption;
this.message= message;
this.target = target;
this.action = action;
this.width = width?width:200;
this.height = height?height:120;
this.timeout= 1500;
this.speed = 20;
this.step = 1;
this.right = screen.width -1;
this.bottom = screen.height;
this.left = this.right - this.width;
this.top = this.bottom - this.height;
this.timer = 0;
this.pause = false;
this.close = false;
this.autoHide = true;
}

/**//*
* 隱藏消息方法
*/
CLASS_MSN_MESSAGE.prototype.hide = function(){
if(this.onunload()){

var offset = this.height>this.bottom-this.top?this.height:this.bottom-this.top;
var me = this;

if(this.timer>0){
window.clearInterval(me.timer);
}

var fun = function(){
if(me.pause==false||me.close){
var x = me.left;
var y = 0;
var width = me.width;
var height = 0;
if(me.offset>0){
height = me.offset;
}

y = me.bottom - height;

if(y>=me.bottom){
window.clearInterval(me.timer);
me.Pop.hide();
} else {
me.offset = me.offset - me.step;
}
me.Pop.show(x,y,width,height);
}
}

this.timer = window.setInterval(fun,this.speed)
}
}

/**//*
* 消息卸載事件,可以重寫
*/
CLASS_MSN_MESSAGE.prototype.onunload = function() {
return true;
}
/**//*
* 消息命令事件,要實現自己的連接,請重寫它
*
*/
CLASS_MSN_MESSAGE.prototype.oncommand = function(){
this.close = true;
// location='../waterAlert/PromptAction.do?action=selectWaitLink';
this.hide();
}

/**//*
* 消息顯示方法
*/
CLASS_MSN_MESSAGE.prototype.show = function(){

var oPopup = window.createPopup(); //IE5.5+

this.Pop = oPopup;

var w = this.width;
var h = this.height;

var str = "<DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: " + w + "px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: " + h + "px; BACKGROUND-COLOR: #c9d3f3'>"
str += "<TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0>"
str += "<TR>"
str += "<TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24></TD>"
str += "<TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; PADDING-TOP: 4px' vAlign=center width='100%'>" + this.caption + "</TD>"
str += "<TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19>"
str += "<SPAN title=關閉 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' >×</SPAN></TD>"
str += "</TR>"
str += "<TR>"
str += "<TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=" + (h-28) + ">"
str += "<DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'>" + this.title + "<BR><BR>"
str += "<DIV style='WORD-BREAK: break-all' align=left><A href='javascript:void(0)' hidefocus=true id='btCommand'><FONT color=#ff0000>" + this.message + "</FONT></A></DIV>"
str += "</DIV>"
str += "</TD>"
str += "</TR>"
str += "</TABLE>"
str += "</DIV>"

oPopup.document.body.innerHTML = str;

this.offset = 0;
var me = this;

oPopup.document.body.onmouseover = function(){me.pause=true;}
oPopup.document.body.onmouseout = function(){me.pause=false;}

var fun = function(){
var x = me.left;
var y = 0;
var width = me.width;
var height = me.height;

if(me.offset>me.height){
height = me.height;
} else {
height = me.offset;
}

y = me.bottom - me.offset;
if(y<=me.top){
me.timeout--;
if(me.timeout==0){
window.clearInterval(me.timer);
if(me.autoHide){
me.hide();
}
}
} else {
me.offset = me.offset + me.step;
}
me.Pop.show(x,y,width,height);

}

this.timer = window.setInterval(fun,this.speed)

var btClose = oPopup.document.getElementById("btSysClose");

btClose.onclick = function(){
me.close = true;
me.hide();
}

var btCommand = oPopup.document.getElementById("btCommand");
btCommand.onclick = function(){
me.oncommand();
}
}
/**//*
** 設置速度方法
**/
CLASS_MSN_MESSAGE.prototype.speed = function(s){
var t = 20;
try {
t = praseInt(s);
} catch(e){}
this.speed = t;
}
/**//*
** 設置步長方法
**/
CLASS_MSN_MESSAGE.prototype.step = function(s){
var t = 1;
try {
t = praseInt(s);
} catch(e){}
this.step = t;
}

CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){
try {
this.left = left !=null?left:this.right-this.width;
this.right = right !=null?right:this.left +this.width;
this.bottom = bottom!=null?(bottom>screen.height?screen.height:bottom):screen.height;
this.top = top !=null?top:this.bottom - this.height;
} catch(e){}
}
var MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"<%=session.getAttribute("departmentName")%>短消息提示:","您有<%=result.size()%>個待辦工作","請及時處理");
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 10;
MSG1.step = 5;
//alert(MSG1.top);
MSG1.show();

//同時兩個有閃爍,只能用層代替了,不過層不跨框架
var MSG2 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有2封消息","好的啊");
// MSG2.rect(100,null,null,screen.height);
// MSG2.show();
//-->
</SCRIPT>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<%result = null;}%>
<BODY></BODY></HTML>

C. Java在Swing中如何實現彈出一個對話框的效果

可以使用JoptionPane:

有幾種提抄示框:

第一種:

JOptionPane.showMessageDialog(jPanel,"提示消息","標題",JOptionPane.WARNING_MESSAGE);

D. 用Java做一個聊天程序,在任務欄處提示效果怎麼做

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();
}
}

E. java如何實現消息提示

你說的是類似msn彈出式消息吧
兩年前做過一個項目有用到你說這個功能,所用框架除了沒用到spring,其他是一樣的。另外用了ajax跟dwr框架,當時我們做的是一個CRM系統,主要在員工登陸系統用消息顯示上級領導發出的緊急任務、跟在項目控制流程中用消息顯示項目實時進度。

整理了下思路,給你講下但是我們怎麼實現的吧,僅供參考:
站內消息不需要用到線程。主要都用系統當前時間、消息狀態控制消息的顯示與否
首先資料庫要一張消息表,記錄消息體信息。包括消息主題、用戶id、時間、發出頁面、消息狀態。

主體實現主要是用js控制,我們用的dwr技術,將消息體的獲取,時間控制及當前時間要顯示的消息個數,都寫到dwr配置的類中。

接著在消息js中通過dwr生成的js名稱調用上述的方法獲取消息信息,將數據封裝到js中,在需要使用消息的頁面只需要導入消息js、dwr的js就可以使用了。

當時我們是從網上下載了一個頁面,自己改的js,然後決定用dwr控制數據的流轉,如果不懂,就留個郵箱,我發一個html給你,你一看就會明白了。

F. 用Java實現,新消息提醒功能,類似於新浪微博的新消息提醒,請問誰有例子

新浪那個實時來提醒是定時發自動ajax請求的。

你可以打開控制台,看 network,是每隔一段時間發動ajax請求,返回是否有新消息。

var timer = setInterval(function(){
//這里是ajax的代碼
}, 時間間隔);

G. java中怎樣自動彈出消息

import java.awt.BorderLayout;

import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.*;

public class Exp extends JFrame
{
public Exp()
{
try
{
jbInit();

// 把窗體放到中間
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
this.setVisible(true);
}
catch (Exception exception)
{
exception.printStackTrace();
}
}

private void jbInit() throws Exception
{
getContentPane().setLayout(null);
this.setTitle("例子");
this.addWindowListener(new Exp_this_windowAdapter(this));
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(400, 300));
}

public static void main(String[] args)
{
Exp a=new Exp();
}

//窗體關閉事件
public void this_windowClosing(WindowEvent e)
{

/*當窗體關閉時候,彈出個對話框,問"您確定退出嗎?",標題欄為:"關閉",彈出的對話框
有兩個按鈕,一個為"是",一個為"否",若單擊"是",則退出程序,否則什麼也不做*/
int b= JOptionPane.showConfirmDialog(this,"您確定退出嗎?","關閉",JOptionPane.OK_OPTION);
//單擊按鈕 "是" 的返回數值為0
if(b==0)
{
System.exit(0);
}
}
}

class Exp_this_windowAdapter extends WindowAdapter
{
private Exp adaptee;
Exp_this_windowAdapter(Exp adaptee)
{
this.adaptee = adaptee;
}

public void windowClosing(WindowEvent e)
{
adaptee.this_windowClosing(e);
}
}

我QQ是: 349227882 哪裡看不明白問我,關鍵代碼在我注釋的地方;

H. java手機消息推送怎麼做

主要介紹其中的五種實現方式:短輪詢、Comet、Flash XMLSocket、Server-sent、WebSocket
1、短輪詢
指在特定的的時間間隔(如每10秒),由瀏覽器對伺服器發出HTTP request,然後由伺服器返回最新的數據給客戶端的瀏覽器。瀏覽器做處理後進行顯示。無論後端此時是否有新的消息產生,都會進行響應
2、Comet
包括了長輪詢和長連接,長輪詢是客戶端向伺服器發送Ajax請求,伺服器接到請求後hold住連接,直到有新消息才返回響應信息並關閉連接,客戶端處理完響應信息後再向伺服器發送新的請求;長連接是在頁面中的iframe發送請求到服務端,服務端hold住請求並不斷將需要返回前端的數據封裝成調用javascript函數的形式響應到前端,前端不斷收到響應並處理
3、Flash XMLSocket
在 HTML 頁面中內嵌入一個使用了 XMLSocket 類的 Flash 程序。JavaScript 通過調用此 Flash 程序提供的socket介面與伺服器端的socket進行通信。JavaScript 在收到伺服器端以 XML 格式傳送的信息後可以很容易地控制 HTML 頁面的內容顯示
4、Server-sent
伺服器推指的是HTML5規范中提供的服務端事件EventSource,瀏覽器在實現了該規范的前提下創建一個EventSource連接後,便可收到服務端的發送的消息,實現一個單向通信。客戶端進行監聽,並對響應的信息處理顯示
5、WebSocket
WebSocket是HTML5下一種新的協議,是基於TCP的應用層協議,只需要一次連接,便可以實現全雙工通信,客戶端和服務端可以相互主動發送消息。客戶端進行監聽,並對響應的消息處理顯示
針對自己系統的應用場景選擇合適的推送方案才是合理的,因此最後簡單說一下實現個性化推送的兩種方式。第一種很簡單,直接使用第三方實現的推送,無需復雜的開發運維,直接可以使用。第二種就是自己封裝,可以選擇如今較為火熱的WebSocket來實現系統的推送。
關於第三方推送平台,極光推送,操作簡單,穩定性高,送達率快

I. java里彈出提示窗口的方法是什麼

javax.swing.JOptionPane

JOptionPane
public JOptionPane(Object message,
int messageType,
int optionType,
Icon icon,
Object[] options,
Object initialValue)在指定最初選擇的選項的前提下,創建一個顯示消息的 JOptionPane 的實例,使其具有指定的消息類型、圖標和選項。

參數:
message - 要顯示的 Object
messageType - 要顯示的消息類型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE
optionType - 要在窗格中顯示的選項:DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION
icon - 要顯示的圖標圖像
options - 用戶可以選擇的選項
initialValue - 最初選擇的選項;如果為 null,則不做最初選擇;只有在使用 options 時才有意義

閱讀全文

與java實現收到新消息彈出相關的資料

熱點內容
逍遙安卓微信驗證 瀏覽:579
5g網路什麼時候普及河北邢台 瀏覽:709
編程和運營哪個更適合創業 瀏覽:893
尤里x怎麼升級 瀏覽:399
做業務績效考核需要哪些數據 瀏覽:433
dnf85版本劍魔刷圖加點 瀏覽:407
手機硬碟測試架可以讀取哪些數據 瀏覽:704
ug前後處理結算結果找不到文件 瀏覽:769
網頁框架拆分代碼 瀏覽:382
未來十年網路安全有什麼影響 瀏覽:362
win10更新後進不了劍靈 瀏覽:243
iphone471激活出錯 瀏覽:648
怎麼把文件拷到u盤 瀏覽:620
中伊簽署文件視頻 瀏覽:661
電信光寬頻網路不穩定 瀏覽:504
網路崗軟路由 瀏覽:995
黑莓z10在哪裡下載app 瀏覽:310
net批量下載文件 瀏覽:696
怎麼把蘋果一體機文件拷貝 瀏覽:117
sql文件怎麼寫 瀏覽:9

友情鏈接