微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.awt.TrayIcon的实例源码

项目:litiengine    文件Program.java   
private static void initSystemTray() {
  // add system tray icon with popup menu
  if (SystemTray.isSupported()) {
    SystemTray tray = SystemTray.getSystemTray();
    PopupMenu menu = new PopupMenu();
    MenuItem exitItem = new MenuItem(Resources.get("menu_exit"));
    exitItem.addActionListener(a -> Game.terminate());
    menu.add(exitItem);

    trayIcon = new TrayIcon(RenderEngine.getimage("pixel-icon-utility.png"),Game.getInfo().toString(),menu);
    trayIcon.setimageAutoSize(true);
    try {
      tray.add(trayIcon);
    } catch (AWTException e) {
      log.log(Level.SEVERE,e.getLocalizedMessage(),e);
    }
  }
}
项目:AgentWorkbench    文件AgentGUITrayIcon.java   
/**
 * Starts the TrayIcon,if this is supported. If not,it should start a
 * simple jdialog,doing the same as independent Window.
 */
private void initialize() {

    switch (this.getTrayIconUsage()) {
    case TrayIcon:
        try {
            // --- System-Tray is supported ---------------------
            this.getSystemTray().add(this.getTrayIcon(true));

        } catch (AWTException e) {
            System.err.println("TrayIcon supported,but Could not be added. => Use TrayDialog instead !");
            this.getAgentGUITrayDialog(true).setVisible(true);          
        }
        break;

    case TrayDialog:
        this.getAgentGUITrayDialog(true).setVisible(true);
        break;

    default:
        break;
    }

    // --- Refresh tray icon ------------------------------------
    this.getAgentGUITrayPopUp().refreshView();
}
项目:dracoon-dropzone    文件Dropzone.java   
/**
 * Init Swing UI
 */
private void initUI() {
    URL url = null;
    if (ConfigIO.getInstance().isUseDarkIcon()) {
        url = Dropzone.class.getResource("/images/sds_logo_dark.png");
    } else {
        url = Dropzone.class.getResource("/images/sds_logo_light.png");

    }
    if (Util.getoSType() == OSType.MACOS) {

    }

    trayIcon = new TrayIcon(Toolkit.getDefaultToolkit().getimage(url),I18n.get("tray.appname"),new TrayPopupMenu());
    trayIcon.setimageAutoSize(true);

    final SystemTray tray = SystemTray.getSystemTray();
    try {
        tray.add(trayIcon);
    } catch (AWTException e) {
        LOG.error("TrayIcon Could not be added.");
        System.exit(1);
    }
}
项目:Openjsharp    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,final int y) {
    if (isdisposed())
        return;

    SunToolkit.executeOnEventHandlerThread(target,new Runnable() {
            @Override
            public void run() {
                PopupMenu newPopup = ((TrayIcon)target).getPopupMenu();
                if (popup != newPopup) {
                    if (popup != null) {
                        popupParent.remove(popup);
                    }
                    if (newPopup != null) {
                        popupParent.add(newPopup);
                    }
                    popup = newPopup;
                }
                if (popup != null) {
                    ((WPopupMenuPeer)popup.getPeer()).show(popupParent,new Point(x,y));
                }
            }
        });
}
项目:Openjsharp    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,TRAY_ICON_HEIGHT,BufferedImage.TYPE_INT_ARGB);
    Graphics2D gr = bufImage.createGraphics();
    if (gr != null) {
        try {
            gr.setPaintMode();

            gr.drawImage(image,(autosize ? TRAY_ICON_WIDTH : image.getWidth(observer)),(autosize ? TRAY_ICON_HEIGHT : image.getHeight(observer)),observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:jdk8u-jdk    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:jdk8u-jdk    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:openjdk-jdk10    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,() -> {
        PopupMenu newPopup = ((TrayIcon)target).getPopupMenu();
        if (popup != newPopup) {
            if (popup != null) {
                popupParent.remove(popup);
            }
            if (newPopup != null) {
                popupParent.add(newPopup);
            }
            popup = newPopup;
        }
        if (popup != null) {
            WPopupMenuPeer peer = AWTAccessor.getMenuComponentAccessor()
                                             .getPeer(popup);
            peer.show(popupParent,y));
        }
    });
}
项目:openjdk-jdk10    文件UpdatePopupMenu.java   
private PopupMenu createPopupMenu(final TrayIcon trayIcon,final int menuCount) {

    final PopupMenu trayIconPopupMenu = new PopupMenu();

    for (int i = 1; i <= menuCount; ++i) {
        final MenuItem popupMenuItem = new MenuItem("MenuItem_" + i);

        popupMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent ae) {
                trayIcon.setPopupMenu(createPopupMenu(trayIcon,menuCount + 1));
            }
        });

        trayIconPopupMenu.add(popupMenuItem);
    }

    return trayIconPopupMenu;
}
项目:openjdk-jdk10    文件ActionEventTest.java   
private void initializeGUI() {

        icon = new TrayIcon(
            new BufferedImage(20,20,BufferedImage.TYPE_INT_RGB),"ti");
        icon.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                actionPerformed = true;
                int md = ae.getModifiers();
                int expectedMask = ActionEvent.ALT_MASK | ActionEvent.CTRL_MASK
                        | ActionEvent.SHIFT_MASK;

                if ((md & expectedMask) != expectedMask) {
                    clear();
                    throw new RuntimeException("Action Event modifiers are not"
                        + " set correctly.");
                }
            }
        });

        try {
            SystemTray.getSystemTray().add(icon);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
项目:sbc-qsystem    文件QTray.java   
/**
 * Показать сообщение в системном трее
 *
 * @param message текст сообщения
 * @param type тип сообщения
 */
synchronized public void showMessageTray(String caption,String message,MessageType type) {
    TrayIcon.MessageType t = TrayIcon.MessageType.NONE;
    switch (type) {
        case ERROR: {
            t = TrayIcon.MessageType.ERROR;
            break;
        }
        case WARNING: {
            t = TrayIcon.MessageType.WARNING;
            break;
        }
        case INFO: {
            t = TrayIcon.MessageType.INFO;
            break;
        }
    }
    trayIcon.displayMessage(caption,message,t);
}
项目:openjdk9    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
        }
    });
}
项目:openjdk9    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:openjdk9    文件UpdatePopupMenu.java   
private PopupMenu createPopupMenu(final TrayIcon trayIcon,menuCount + 1));
            }
        });

        trayIconPopupMenu.add(popupMenuItem);
    }

    return trayIconPopupMenu;
}
项目:openjdk9    文件ActionEventTest.java   
private void initializeGUI() {

        icon = new TrayIcon(
            new BufferedImage(20,"ti");
        icon.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                actionPerformed = true;
                int md = ae.getModifiers();
                int expectedMask = ActionEvent.ALT_MASK | ActionEvent.CTRL_MASK
                        | ActionEvent.SHIFT_MASK;

                if ((md & expectedMask) != expectedMask) {
                    clear();
                    throw new RuntimeException("Action Event modifiers are not"
                        + " set correctly.");
                }
            }
        });

        try {
            SystemTray.getSystemTray().add(icon);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
项目:yajsw    文件HelloWorld.java   
private static void startTray()
{
    SystemTray tray = SystemTray.getSystemTray();
    int w = 80;
    int[] pix = new int[w * w];
    for (int i = 0; i < w * w; i++)
        pix[i] = (int) (Math.random() * 255);
    ImageProducer producer = new MemoryImageSource(w,w,pix,w);
    Image image = Toolkit.getDefaultToolkit().createImage(producer);
    TrayIcon trayIcon = new TrayIcon(image);
    trayIcon.setimageAutoSize(true);
    startwindow();
    try
    {
        tray.add(trayIcon);
        System.out.println("installed tray");
    }
    catch (AWTException e)
    {
        // Todo Auto-generated catch block
        e.printstacktrace();
    }
}
项目:timetray    文件TimeTray.java   
/**
 * TimeTray Constructor
 */
public TimeTray() {
    // retrieve iconSize of SystemTray
    SystemTray systemTray = SystemTray.getSystemTray();
    iconSize = systemTray.getTrayIconSize();

    // set presets
    presets = new Presets(iconSize.height);

    calendar = Calendar.getInstance();

    // create TrayIcon according to iconSize
    trayIcon = new TrayIcon(getTrayImage(),"TimeTray",menu);
    try {
        systemTray.add(trayIcon);
    } catch (AWTException ex) {
        ex.printstacktrace();
    }

    // run thread and set timer tooltip to update every second
    run();

    Timer timer = new Timer();
    timer.schedule(this,1000,1000);
}
项目:jdk8u_jdk    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:jdk8u_jdk    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:runelite    文件Notifier.java   
private void sendNotification(
    final String title,final String message,final TrayIcon.MessageType type,final String subtitle)
{
    final String escapedTitle = SHELL_ESCAPE.escape(title);
    final String escapedMessage = SHELL_ESCAPE.escape(message);
    final String escapedSubtitle = subtitle != null ? SHELL_ESCAPE.escape(subtitle) : null;

    switch (DETECTED_OS)
    {
        case Linux:
            sendLinuxNotification(escapedTitle,escapedMessage,type);
            break;
        case MacOS:
            sendMacNotification(escapedTitle,escapedSubtitle);
            break;
        default:
            sendTrayNotification(title,type);
    }
}
项目:lookaside_java-1.8.0-openjdk    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:lookaside_java-1.8.0-openjdk    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:DuckDNSClient    文件duckdns.java   
private void startProcess() {

Thread thread = new Thread(new Runnable() {

 @Override public void run() {
 Preferences prefs = Preferences.userNodeForPackage(duckdns.class);

 // first start message (on empty settings)
 if ((prefs.get("domain","").length() < 1) || (prefs.get("token","").length() < 1)) {
 processtrayIcon.displayMessage(DuckDNsversion,"Right click on the tray icon to change the settings!",TrayIcon.MessageType.INFO);
 }

 Timer timer = new Timer("Repeater");
 MyTask t = new MyTask();
 timer.schedule(t,1000);

 timercount = (Integer.parseInt(prefs.get("refresh","5")) * 60);

 }
});

thread.start();
}
项目:deskshare-public    文件SmallUI.java   
private void initTray() {
    final SystemTray systemTray = SystemTray.getSystemTray();
    final TrayIcon trayIcon = new TrayIcon(getimage("icon.gif"),"Deskshare is running");
    trayIcon.setimageAutoSize(true); // Autosize icon base on space
                                     // available on tray
    MouseAdapter mouseAdapter = new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent evt) {
            // This will display small popup message from System Tray
            trayIcon.displayMessage("BigMarker Deskshare","This is an info message",TrayIcon.MessageType.INFO);
            if (!app.isVisible()) {
                app.setVisible(true);
            }
        }
    };
    trayIcon.addMouseListener(mouseAdapter);
    try {
        systemTray.add(trayIcon);
    } catch (Exception e) {
        e.printstacktrace();
    }
}
项目:deskshare-public    文件DebugUI.java   
private void initTray() {
    final SystemTray systemTray = SystemTray.getSystemTray();
    final TrayIcon trayIcon = new TrayIcon(getimage("icon.gif"),"Deskshare is running");
    trayIcon.setimageAutoSize(true); // Autosize icon base on space available on tray
    MouseAdapter mouseAdapter = new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent evt) {
            System.out.println("icon clicked: " + evt.getClickCount());
            // This will display small popup message from System Tray
            trayIcon.displayMessage("BigMarker Deskshare",TrayIcon.MessageType.INFO);
            if (!app.isVisible()) {
                app.setVisible(true);
            }
        }
    };
    trayIcon.addMouseListener(mouseAdapter);
    try {
        systemTray.add(trayIcon);
    } catch (Exception e) {
        e.printstacktrace();
    }
}
项目:MIDI-Automator    文件Tray.java   
/**
 * Initializes the tray
 */
public void init() {

    if (SystemTray.isSupported()) {

        SystemTray tray = SystemTray.getSystemTray();

        if (tray.getTrayIcons().length == 0) {

            String iconFileName = resources.getimagePath() + File.separator
                    + "MidiAutomatorIcon16.png";
            image = Toolkit.getDefaultToolkit().getimage(iconFileName);
            trayPopupMenu.init();
            trayIcon = new TrayIcon(image,NAME);
            trayIcon.addMouseListener(trayMouseListener);

            try {
                tray.add(trayIcon);
            } catch (AWTException e) {
                log.error("Error on adding tray icon.",e);
            }
        }
    }
}
项目:TodoLazyList    文件Tray.java   
private void hookTray() {
    if (!SystemTray.isSupported()) {
        System.out.println("SystemTray is not supported");
    } else {
        try {
            Todo.icon = new TrayIcon(ImageIO.read(Todo.class.getResourceAsstream("/todo/res/logoTray.png")),"Todo application",createPopupMenu());
            Todo.icon.addActionListener((ActionEvent e) -> {
                Platform.runLater(() -> {
                    stage.setIconified(false);
                });
                //some popup test
            });
            SystemTray.getSystemTray().add(Todo.icon);
            //Thread.sleep(3000);
            Todo.icon.displayMessage("Todo","Listener enabled",TrayIcon.MessageType.INFO);

        } catch (AWTException | IOException ex) {
            ex.printstacktrace();
        }

    }
}
项目:infobip-open-jdk-8    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:infobip-open-jdk-8    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:jdk8u-dev-jdk    文件WTrayIconPeer.java   
@Override
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:jdk8u-dev-jdk    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:neembuu-uploader    文件QueueManager.java   
/**
 * Start next upload if any.. Decrements the current uploads averageProgress and
 * updates the queuing mechanism.
 */
public void startNextUploadIfAny() {
    currentlyUploading--;
    //If no more uploads in queue and no more uploads currently running,reset the title
    if (getQueuedUploadCount() == 0 && currentlyUploading == 0){
        setFrameTitle();

        try{
            //If the tray icon is activated,then display message
            if(SystemTray.getSystemTray().getTrayIcons().length > 0) {
                SystemTray.getSystemTray().getTrayIcons()[0].displayMessage(Translation.T().neembuuuploader(),Translation.T().allUploadsCompleted(),TrayIcon.MessageType.INFO);
            }
        }catch(UnsupportedOperationException a){
            //ignore
        }
    } else {
        updateQueue();
    }
}
项目:neembuu-uploader    文件NeembuuUploader.java   
private void setUpTrayIcon() {
    if (SystemTray.isSupported()) {
        //trayIcon.setimageAutoSize(true); It renders the icon very poorly.
        //So we render the icon ourselves with smooth settings.
        {
            Dimension d = SystemTray.getSystemTray().getTrayIconSize();
            trayIcon = new TrayIcon(getIconImage().getScaledInstance(d.width,d.height,Image.SCALE_SMOOTH));
        }
        //trayIcon = new TrayIcon(getIconImage());
        //trayIcon.setimageAutoSize(true);
        trayIcon.setToolTip(Translation.T().trayIconToolTip());
        trayIcon.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                NULogger.getLogger().info("System tray double clicked");

                setExtendedState(JFrame.norMAL);
                setVisible(true);
                repaint();
                SystemTray.getSystemTray().remove(trayIcon);
            }
        });
    }
}
项目:jdk7-jdk    文件WTrayIconPeer.java   
public synchronized void showPopupMenu(final int x,new Runnable() {
            public void run() {
                PopupMenu newPopup = ((TrayIcon)target).getPopupMenu();
                if (popup != newPopup) {
                    if (popup != null) {
                        popupParent.remove(popup);
                    }
                    if (newPopup != null) {
                        popupParent.add(newPopup);
                    }
                    popup = newPopup;
                }
                if (popup != null) {
                    ((WPopupMenuPeer)popup.getPeer()).show(popupParent,y));
                }
            }
        });
}
项目:jdk7-jdk    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:FutureSonic-Server    文件SubsonicController.java   
private void createComponents() {
    PopupMenu menu = new PopupMenu();
    menu.add(createMenuItem(openAction));
    menu.add(createMenuItem(controlPanelAction));
    menu.addSeparator();
    menu.add(createMenuItem(quitaction));

    URL url = getClass().getResource("/images/futuresonic-21.png");
    Image image = Toolkit.getDefaultToolkit().createImage(url);
    TrayIcon trayIcon = new TrayIcon(image,"FutureSonic Music Streamer",menu);
    trayIcon.setimageAutoSize(false);

    try {
        SystemTray.getSystemTray().add(trayIcon);
    } catch (Throwable x) {
        System.err.println("Failed to add tray icon.");
    }
}
项目:openjdk-source-code-learn    文件WTrayIconPeer.java   
public synchronized void showPopupMenu(final int x,y));
                }
            }
        });
}
项目:openjdk-source-code-learn    文件WTrayIconPeer.java   
synchronized void updateNativeImage(Image image) {
    if (isdisposed())
        return;

    boolean autosize = ((TrayIcon)target).isImageAutoSize();

    BufferedImage bufImage = new BufferedImage(TRAY_ICON_WIDTH,observer);

            createNativeImage(bufImage);

            updateNativeIcon(!firstUpdate);
            if (firstUpdate) firstUpdate = false;

        } finally {
            gr.dispose();
        }
    }
}
项目:timey    文件AlarmControllerTest.java   
/**
 * Testet die Verarbeitung eines Ereignisses.
 */
@Test
public final void testHandleEvent() {
    final AlarmController controller = (AlarmController) getController();
    final GuiHelper guiHelper = controller.getGuiHelper();

    final Alarm alarm = new Alarm(LocalDateTime.Now(),"alarm","sound",true);

    final MessageHelper messageHelper = mock(MessageHelper.class);
    guiHelper.setMessageHelper(messageHelper);

    final AudioPlayer audioPlayer = mock(AudioPlayer.class);
    guiHelper.setAudioPlayer(audioPlayer);

    // Ereignis auslösen
    controller.handleEvent(new AlarmExpiredEvent(AlarmDescriptorConverter.getAsAlarmDescriptor(alarm)));
    waitForThreads();

    // sicherstellen,dass Ereignis verarbeitet wird
    verify(messageHelper).showTrayMessageWithFallbackToDialog(anyString(),eq(alarm.getDescription()),isNull(TrayIcon.class),isA(ResourceBundle.class));
    verify(audioPlayer).playInThread(isA(ThreadHelper.class),eq(alarm.getSound()),isA(Thread.UncaughtExceptionHandler.class));
}
项目:timey    文件AlarmControllerTest.java   
/**
 * Testet die Verarbeitung eines unwichtigen Ereignisses.
 */
@Test
public final void testIgnoreEvent() {
    final AlarmController controller = (AlarmController) getController();
    final GuiHelper guiHelper = controller.getGuiHelper();

    final MessageHelper messageHelper = mock(MessageHelper.class);
    guiHelper.setMessageHelper(messageHelper);

    final AudioPlayer audioPlayer = mock(AudioPlayer.class);
    guiHelper.setAudioPlayer(audioPlayer);

    // unwichtiges Ereignis auslösen
    controller.handleEvent(mock(TimeyEvent.class));
    waitForThreads();

    // sicherstellen,dass Ereignis ignoriert wird
    verify(messageHelper,never()).showTrayMessageWithFallbackToDialog(anyString(),anyString(),isA(ResourceBundle.class));
    verify(audioPlayer,never()).playInThread(isA(ThreadHelper.class),isA(Thread.UncaughtExceptionHandler.class));
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。