source: trunk/quest-jfcmonitor/src/main/java/de/ugoe/cs/quest/jfcmonitor/JFCContainerListener.java @ 851

Last change on this file since 851 was 851, checked in by fglaser, 12 years ago
  • JFCMonitor: Added new ContainerListener? that listens on component added and component removed events
  • small refactorings
  • Property svn:mime-type set to text/plain
File size: 1.4 KB
Line 
1
2package de.ugoe.cs.quest.jfcmonitor;
3
4import java.awt.Component;
5import java.awt.event.ContainerEvent;
6import java.awt.event.ContainerListener;
7
8/**
9 * <p>
10 * A ComponentListener responsible for monitoring adding and removing of GUI components
11 * </p>
12 *
13 * @author Fabian Glaser
14 * @version 1.0
15 */
16public class JFCContainerListener implements ContainerListener {
17         /**
18     * <p>
19     * Writer for logging events.
20     * </p>
21     */
22    final private JFCMonitorOutputWriter outputWriter; 
23       
24    /**
25     * <p>
26     * Constructor. Creates a new JFCContainerListener with a given {@link JFCMonitorOutputWriter}, where the
27     * monitored information is logged.
28     * </p>
29     *
30     * @param outputWriter
31     *            writer for the logged information
32     */
33    public JFCContainerListener(JFCMonitorOutputWriter outputWriter) {
34        this.outputWriter = outputWriter;
35    }
36
37        @Override
38        public void componentAdded(ContainerEvent e) {
39                Component src = e.getChild();
40                if (!JFCComponent.isKnown(src)){
41                        JFCComponent.add(src);
42                        JFCComponent jfcComponent = JFCComponent.find(src);
43                        outputWriter.write(jfcComponent.getXML());
44                        outputWriter.write(jfcComponent.printChildren());
45                }               
46        }
47
48        @Override
49        public void componentRemoved(ContainerEvent e) {
50                //System.out.println("Component has been removed...");
51        }
52
53}
Note: See TracBrowser for help on using the repository browser.