Au moins, vous pouvez changer l'icône du JFrame en appelant la méthode JFrame#setIconImage() qui ressemble à une notification et qui change aussi le titre si nécessaire.
Créez une icône que vous souhaitez afficher lorsqu'il y a une notification et définissez l'icône du code où vous le souhaitez.
Pour créer un effet lueur (clignotement), vous pouvez utiliser deux images et swap à un intervalle si la fenêtre sous forme réduite au minimum en utilisant Swing Timer et arrêter le chronomètre lorsque la fenêtre est à nouveau deiconified.
En savoir plus How to Use Swing Timers
exemple de code:
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();
}
});
Que voulez-vous dire par quelque chose qui s'est passé dans le programme. – Braj
Lorsqu'une certaine méthode a fini de fonctionner ou lorsqu'une instruction IF renvoie la valeur true. –
duplication possible de [Comment créer une notification dans swing] (http://stackoverflow.com/questions/3240415/how-to-create-a-notification-in-swing) – Frakcool