Что за всплывающее окно "Безопасное удаление оборудования" в Windows - PullRequest
0 голосов
/ 30 марта 2012

Я работаю над проектом Java и хочу отобразить всплывающее сообщение, например, всплывающее окно «Безопасное извлечение устройства» в окнах, когда мы нажимаем значок «Извлечь» для USB-накопителей. Я хочу показать свое сообщение в том же виде всплывающего окна, используя код Java.

Ответы [ 3 ]

4 голосов
/ 30 марта 2012

Используйте класс SystemTray.

Чтобы создать иконку с подсказкой, используйте что-то вроде этого:

SystemTray tray = SystemTray.getSystemTray();
TrayIcon icon = new TrayIcon(....);
icon.setToolTip("I have finished my work");
icon.setActionListener(this);
tray.add(trayIcon);

Затем в классе, который отображает всплывающую подсказку, реализуйте интерфейс ActionListener, чтобы получать информацию, когда пользователь нажимает на значок и / или подсказку (для этого и используется setActionListener())

Для получения более подробной информации см. Javadocs SystemTray, TrayIcon и ActionListener

3 голосов
/ 30 марта 2012

Вам просто нужно использовать метод displayMessage (...) класса TrayIcon . Попробуйте этот код, вот что вы хотели:

import java.awt.*;
import java.net.URL;
import javax.swing.*;

public class BalloonExample
{
    private void createAndDisplayGUI()
    {   
        TrayIcon trayIcon = new TrayIcon(createImage(
                        "/image/caIcon.png", "tray icon"));
        SystemTray tray = SystemTray.getSystemTray();               

        try 
        {
            tray.add(trayIcon);
        } 
        catch (AWTException e) 
        {
            System.out.println("TrayIcon could not be added.");
            return;
        }

        trayIcon.displayMessage("Balloon", "My First Balloon", TrayIcon.MessageType.INFO);
    }

    //Obtain the image URL
    protected static Image createImage(String path, String description) {
        URL imageURL = BalloonExample.class.getResource(path);

        if (imageURL == null) {
            System.err.println("Resource not found: " + path);
            return null;
        } else {
            return (new ImageIcon(imageURL, description)).getImage();
        }
    }

    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new BalloonExample().createAndDisplayGUI();
            }
        });
    }
}
0 голосов
/ 03 мая 2012

Посмотрите на мой вопрос здесь . По сути, эта подсказка является подсказкой Balloon, и вы можете использовать ShellNotifyIcon для ее создания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...