关于javatray的信息
本篇文章给大家谈谈javatray,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java实现提醒功能
- 2、我要用JAVA做一个系统托盘,点最小化按钮,要怎么监听?或者给我来个系统托盘的全代码 不要网上复制的
- 3、java的SystemTray跳出提示的代码?就像xp的网络连接那样,连接成功会弹出一个网络已连接
- 4、java高手进个 关于trayIcon问题
- 5、java开发面试题
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的信息别忘了在本站进行查找喔。