source: trunk/quest-jfcmonitor/src/main/java/de/ugoe/cs/quest/jfcmonitor/NameChangeListener.java @ 850

Last change on this file since 850 was 850, checked in by fglaser, 12 years ago
  • improvements in JFCMonitor: prototype of JFCMonitors ability to log component name changes
  • Property svn:mime-type set to text/plain
File size: 1.1 KB
Line 
1/**
2 *
3 */
4package de.ugoe.cs.quest.jfcmonitor;
5
6import java.awt.Component;
7import java.beans.PropertyChangeEvent;
8import java.beans.PropertyChangeListener;
9
10import de.ugoe.cs.util.StringTools;
11
12/**
13 * @author Fabian Glaser
14 *
15 */
16public class NameChangeListener implements PropertyChangeListener {
17         /**
18     * <p>
19     * Writer for logging events.
20     * </p>
21     */
22    final private JFCMonitorOutputWriter outputWriter; 
23   
24    public NameChangeListener(JFCMonitorOutputWriter outputWriter){
25        this.outputWriter = outputWriter;
26    }
27       
28        @Override
29        public void propertyChange(PropertyChangeEvent evt) {
30                if (evt.getPropertyName().equals("AccessibleName")){
31                        StringBuilder builder = new StringBuilder();
32                        builder.append("<componentNameChange hash=\"");
33                        outputWriter.write(evt.getSource().toString());
34                        if (JFCComponent.find((Component) evt.getSource()) == null)
35                                        System.err.println("Quelle nicht bekannt");
36                        builder.append(Integer.toHexString(evt.getSource().hashCode()));
37                        builder.append("\" newName=\"" + evt.getNewValue());
38                        builder.append("\"/>" + StringTools.ENDLINE);
39                        outputWriter.write(builder.toString());
40                }
41                       
42        }
43       
44}
Note: See TracBrowser for help on using the repository browser.