Przynajmniej możesz zmienić ikonę JFrame, wywołując metodę JFrame#setIconImage(), która wygląda jak powiadomienie, a także w razie potrzeby zmienić tytuł.
Utwórz ikonę, którą chcesz pokazać, gdy pojawi się powiadomienie, i ustaw ikonę z kodem, gdziekolwiek chcesz.
Aby utworzyć blask (migają) efekt można wykorzystać dwa obrazy i zamieniać w odstępie jeśli okno w postaci zminimalizowanej użyciu Swing Timer i zatrzymać stoper, gdy okno jest znowu deiconified.
Czytaj więcej How to Use Swing Timers
przykładowy kod:
private boolean swap;
private Timer timer;
....
final Image onImage = new ImageIcon(ImageIO.read(new File("resources/1.png"))).getImage();
final Image offImage = new ImageIcon(ImageIO.read(new File("resources/2.png"))).getImage();
// interval of 500 milli-seconds
timer = new Timer(500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (swap) {
setIconImage(onImage);
} else {
setIconImage(offImage);
}
swap = !swap;
}
});
timer.setRepeats(true);
// check whether window is in ICONIFIED state or not
if (getExtendedState() == JFrame.ICONIFIED) {
timer.start();
}
addWindowListener(new WindowAdapter() {
public void windowDeiconified(WindowEvent e) {
// set the icon back to default when window is DEICONIFIED
timer.stop();
}
});
co masz na myśli przez coś, co stało się w programie. – Braj
Gdy pewna metoda zakończyła pracę lub gdy wyrażenie JEŻELI zwraca wartość true. –
możliwy duplikat [Jak utworzyć powiadomienie na huśtawce] (http://stackoverflow.com/questions/3240415/how-to-create-a-notification-in-swing) – Frakcool