Almeno puoi cambiare l'icona di JFrame chiamando il metodo JFrame#setIconImage() che assomiglia ad una notifica e cambia anche il titolo se necessario.
Crea un'icona che vuoi mostrare quando c'è qualche notifica e imposta l'icona dal codice dove vuoi.
Per creare un effetto luminoso (lampeggio) si possono usare due immagini e scambiare ad un intervallo se finestra in forma minimizzata utilizzando Swing Timer e fermare il timer quando la finestra viene nuovamente deiconified.
Leggi tutto How to Use Swing Timers
codice di esempio:
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();
}
});
cosa intendi per qualcosa che è successo nel programma. – Braj
Quando un determinato metodo ha finito di funzionare o quando un'istruzione IF restituisce true. –
possibile duplicato di [Come creare una notifica in swing] (http://stackoverflow.com/questions/3240415/how-to-create-a-notification-in-swing) – Frakcool