关于javatray的信息

博主:adminadmin 2023-01-24 23:45:11 489

本篇文章给大家谈谈javatray,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java实现提醒功能

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

你可以写单独写个线程监视是否有消息传回,然后刷新页面。至于怎么刷新页面其实很简单,写一个事件接口。然后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());

}

}

我要用JAVA做一个系统托盘,点最小化按钮,要怎么监听?或者给我来个系统托盘的全代码 不要网上复制的

以下代码直接copy即可运行,注意修改一下托盘图标的文件路径!

/////////////////////////////////////////////////////////////////////

import java.awt.AWTException;

import java.awt.Image;

import java.awt.MenuItem;

import java.awt.PopupMenu;

import java.awt.SystemTray;

import java.awt.Toolkit;

import java.awt.TrayIcon;

import java.awt.TrayIcon.MessageType;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import javax.swing.JFrame;

public class SystemTrayTest extends JFrame {

public SystemTrayTest() throws AWTException {

this.setSize(500, 300);

this.setLocation(100, 50);

//判断当前操作系统是否支持托盘

if (SystemTray.isSupported()) {

//获取系统托盘

SystemTray tray = SystemTray.getSystemTray();

//托盘的右键菜单

PopupMenu menu = new PopupMenu();

//退出菜单

MenuItem exitItem = new MenuItem("Exit");

exitItem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

//显示主窗口菜单

MenuItem showItem = new MenuItem("Show the main frame");

showItem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

SystemTrayTest.this.setVisible(true);

}

});

//关于菜单(未注册事件)

MenuItem aboutItem = new MenuItem("about...");

menu.add(exitItem);

menu.add(showItem);

menu.add(aboutItem);

//托盘的标题

String title = "Hey,Java!";

//托盘图标

Image img = Toolkit.getDefaultToolkit().getImage("icon.jpg");

//实例化TrayIcon对象

TrayIcon icon = new TrayIcon(img, title, menu);

//托盘添加鼠标事件

icon.addMouseListener(new MouseAdapter() {

public void mouseReleased(MouseEvent e) {

SystemTrayTest.this.setVisible(true);

}

});

tray.add(icon);

icon.displayMessage("Hello!", "this is my DIY SystemTray!",

MessageType.INFO);// 运行程序的时候右下角会提示信息

}

}

public static void main(String[] args) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

try {

new SystemTrayTest().setVisible(true);

} catch (AWTException e) {

e.printStackTrace();

}

}

});

}

}

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

}

}

java高手进个 关于trayIcon问题

jdk1.5以前的版本没有TrayIcon这个类, 直到jdk1.6才有的。

可以升级一下你的jdk。

java开发面试题

结果如下,写的有些复杂了

private static ListTray mergeTrays(ListTray list) {

        MapInteger, ListGoods trayMap = new HashMap();

        ListTray newTray = new ArrayList();

        for (Tray tray : list) {

            int id = tray.id;

            ListGoods goods = tray.goods;

            if (trayMap.containsKey(id)) {

                // 将相同托盘id的商品放在一起

                ListGoods tempGoods = trayMap.get(id);

                for (int i = 0; i  goods.size(); i++) {

                    tempGoods.add(goods.get(i));

                }

                trayMap.put(id, tempGoods);

            }else{

                trayMap.put(id, goods);

            }

        }

        for (Map.EntryInteger, ListGoods entry : trayMap.entrySet()) {

            int id = entry.getKey();

            ListGoods goods = entry.getValue();

            MapInteger, Integer goodsMap = new HashMap();

            for (int i = 0; i  goods.size(); i++) {

                Goods good = goods.get(i);

                if (goodsMap.containsKey(good.id)) {

                    goodsMap.put(good.id, goodsMap.get(good.id) + good.count);

                }else{

                    goodsMap.put(good.id, good.count);

                }

            }

            ListGoods newGoods = new ArrayList();

            for (Map.EntryInteger, Integer goodEntry : goodsMap.entrySet()) {

                Goods good = new Goods();

                good.id = goodEntry.getKey();

                good.count = goodEntry.getValue();

                newGoods.add(good);

            }

            Tray tray = new Tray();

            tray.id = id;

            tray.goods = newGoods;

            newTray.add(tray);

        }

        return newTray;

    }

javatray的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javatray的信息别忘了在本站进行查找喔。