「java托盘开发」javafx 托盘
今天给各位分享java托盘开发的知识,其中也会对javafx 托盘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
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;
}
Java程序托盘
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import javax.swing.JOptionPane;
public class TrayIconTest {
public static void main(String[] args) throws Exception{
BufferedImage img=new BufferedImage(32,32,BufferedImage.TYPE_INT_ARGB_PRE);
Graphics2D g=img.createGraphics();
g.setColor(Color.yellow);
g.setClip(new java.awt.geom.Ellipse2D.Double(1,1,30,30));
g.fillRect(0, 0, 32,32);
g.dispose();
// BufferedImage img=javax.imageio.ImageIO.read(new java.net.URL(""));
TrayIcon ti=new TrayIcon(img);
ti.setToolTip("TrayIcon test");
ti.setImageAutoSize(true);
SystemTray.getSystemTray().add(ti);
ActionListener al=new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
if("exit".equals(e.getActionCommand()))
System.exit(0);
}
};
PopupMenu pm=new PopupMenu();
MenuItem mi=new MenuItem("a");
mi.addActionListener(al);
pm.add(mi);
mi=new MenuItem("exit");
mi.addActionListener(al);
pm.add(mi);
ti.setPopupMenu(pm);
ti.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2){
System.out.println("doubleClicked.");
JOptionPane.showMessageDialog(null,"Hi!");
}
}
public void mousePressed(MouseEvent e) {
System.out.println("mousePressed");
}
public void mouseReleased(MouseEvent e) {
System.out.println("mouseReleased");
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
}
}
在JAVA中如何搞定托盘
JDK1.5以前用第三方插件,比如:systray4j
JDK1.5开始java自带托盘了,常见:SystemTray tray=SystemTray.getSystemTray(); // 获得本操作系统托盘的实例
Java做日历,日历格式参考Windows系统托盘的日期和时间程序。
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Game {
public void theCalendar(String str) throws ParseException {
Date date = DateFormat.getDateInstance().parse(str);
Calendar c = new GregorianCalendar();
c.setTime(date);
int year = c.get(Calendar.YEAR); // 返回年
int month = c.get(Calendar.MONTH); // 返回月
int today = c.get(Calendar.DAY_OF_MONTH);// 返回日
System.out.println("日\t一\t二\t三\t四\t五\t六");
c.set(Calendar.DAY_OF_MONTH, 1); //把当前日期设置为1号
int a = c.get(Calendar.DAY_OF_WEEK);//返回当前月份1号是星期几
for(int i=1; ia; i++) {
System.out.print("\t");
}
while(c.get(Calendar.MONTH) == month) {
if(c.get(Calendar.DAY_OF_MONTH) == today) {
System.out.printf("%2d●\t", c.get(Calendar.DAY_OF_MONTH));
} else {
System.out.printf("%2d\t", c.get(Calendar.DAY_OF_MONTH));
}
if(c.get(Calendar.DAY_OF_WEEK) == 7) {
System.out.println();
}
c.add(Calendar.DAY_OF_MONTH, 1);
}
}
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请按照如下格式输入字符串1990-09-07");
String str = sc.nextLine();
new Game().theCalendar(str);
}
}
java swing 系统托盘问题
java
最小化到系统托盘
2010-09-06 15:32
package test;
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class MyTray {
TrayIcon trayIcon;//
托盘图标,但不是
Image
类型的
哦
SystemTray Tray;//
系统托盘
Image
img=(new
ImageIcon("images/icon.png")).getImage();//
托盘图标,建
议使用较小的图片
public MyTray(){
final JFrame frame=new JFrame();
JPanel jp=new JPanel();
frame.add(jp);
frame.setSize(320,240);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setIconImage(img);//
设置窗口左上角的图标
frame.setVisible(true);
Tray=SystemTray.getSystemTray();//
获得系统托盘实例
//
创建系统托盘的右键弹出菜单
PopupMenu pm=new PopupMenu();
MenuItem mi0=new MenuItem("Open");
MenuItem mi1=new MenuItem("Close");
pm.add(mi0);
pm.add(mi1);
trayIcon=new TrayIcon(img,"",pm);//
创建托盘图标实例
trayIcon.setImageAutoSize(true);//
图标自动适应托盘,也就是说它自动
改变大小
trayIcon.setToolTip(" ");//
设置提示语
//
添加系统托盘图标
frame.addWindowListener(new
WindowAdapter()
{//
当“关闭”窗口时,最
小化到系统托盘
public void windowClosing(WindowEvent e) {
try {
Tray.add(trayIcon);
} catch (AWTException exc) {
exc.printStackTrace();
}
}});
mi0.addActionListener(new ActionListener(){ //
右键弹出菜单的事件
监听
public void actionPerformed(ActionEvent e) {
frame.setExtendedState(JFrame.NORMAL);
frame.setVisible(true);
Tray.remove(trayIcon);
}
});
mi1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
Tray.remove(trayIcon);//
退出程序,移出系统托盘处的图标
关于java托盘开发和javafx 托盘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。