「java托盘开发」javafx 托盘

博主:adminadmin 2023-03-17 06:19:07 578

今天给各位分享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 托盘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。