48 lines
859 B
Java
48 lines
859 B
Java
/*
|
|
* Created on 19.03.2005
|
|
*/
|
|
|
|
package net.sourceforge.tuned.ui.notification;
|
|
|
|
|
|
import java.awt.event.WindowAdapter;
|
|
import java.awt.event.WindowEvent;
|
|
|
|
import net.sourceforge.tuned.ui.TunedUtilities;
|
|
|
|
|
|
public class NotificationManager {
|
|
|
|
private final NotificationLayout layout;
|
|
|
|
|
|
public NotificationManager() {
|
|
this(new QueueNotificationLayout());
|
|
}
|
|
|
|
|
|
public NotificationManager(NotificationLayout layout) {
|
|
this.layout = layout;
|
|
}
|
|
|
|
|
|
public void show(NotificationWindow notification) {
|
|
TunedUtilities.checkEventDispatchThread();
|
|
|
|
notification.addWindowListener(new RemoveListener());
|
|
layout.add(notification);
|
|
|
|
notification.setVisible(true);
|
|
}
|
|
|
|
|
|
private class RemoveListener extends WindowAdapter {
|
|
|
|
@Override
|
|
public void windowClosing(WindowEvent e) {
|
|
layout.remove((NotificationWindow) e.getWindow());
|
|
}
|
|
}
|
|
|
|
}
|