@@ -0,0 +1,1482 @@
+package fortiss.gui;%0A%0Aimport java.awt.event.ActionEvent;%0A%0Aimport javax.swing.AbstractAction;%0Aimport javax.swing.ImageIcon;%0Aimport javax.swing.JDialog;%0Aimport javax.swing.JOptionPane;%0Aimport javax.swing.Timer;%0A%0A/**%0A * Example: NotificationPopUp popup = new%0A * NotificationPopUp(JOptionPane.INFORMATION_MESSAGE, %22This is a message!%22,%0A * IconStore.save, 1);%0A */%0Apublic class NotificationPopUp extends JDialog %7B%0A%0A%09private static final long serialVersionUID = 1L;%0A%0A%09private final JOptionPane messagePane;%0A%09private Timer timer;%0A%0A%09/**%0A%09 * %0A%09 * @param messageType JOptionPane.%3CINFORMATION_MESSAGE, ERROR_MESSAGE,%0A%09 *                    WARNING_MESSAGE, QUESTION_MESSAGE, PLAIN_MESSAGE%3E%0A%09 * @param message     A String%0A%09 * @param icon        A ImageIcon%0A%09 * @param duration    An Integer %5Bseconds%5D or null%0A%09 */%0A%09public NotificationPopUp(int messageType, String message, ImageIcon icon, Integer duration) %7B%0A%09%09messagePane = new JOptionPane(message, messageType, JOptionPane.DEFAULT_OPTION, icon, new Object%5B%5D %7B%7D, null);%0A%0A%09%09setTitle(%22MEMAP Notification%22);%0A%09%09setContentPane(messagePane);%0A%09%09setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);%0A%09%09pack();%0A%09%09setLocationRelativeTo(null);%0A%0A%09%09if (duration != null) %7B%0A%09%09%09timer = new Timer(duration * 1000, new AbstractAction() %7B%0A%09%09%09%09private static final long serialVersionUID = 1L;%0A%0A%09%09%09%09@Override%0A%09%09%09%09public void actionPerformed(ActionEvent ae) %7B%0A%09%09%09%09%09dispose();%0A%09%09%09%09%7D%0A%09%09%09%7D);%0A%09%09%09timer.setRepeats(false);%0A%0A%09%09%09timer.start();%0A%09%09%7D%0A%09%09setVisible(true);%0A%09%7D%0A%0A%7D%0A

Add class to display pop-up notification (disappering is an option)