filebot/source/net/sourceforge/tuned/ui/notification/NotificationManager.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());
}
}
}