Ignore:
Timestamp:
10/02/12 12:58:32 (12 years ago)
Author:
fglaser
Message:
  • JFCMonitor: improved JFCNameChangeListener now listens on AccessibleContext? and Component.name
Location:
trunk/quest-jfcmonitor/src/main/java/de/ugoe/cs/quest/jfcmonitor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-jfcmonitor/src/main/java/de/ugoe/cs/quest/jfcmonitor/JFCComponent.java

    r853 r854  
    218218        this.component = component; 
    219219         
     220        // add PropertyChangeListeners to AccessibleContext 
    220221        AccessibleContext context = component.getAccessibleContext(); 
    221222        if (context != null){ 
     
    223224                        context.addPropertyChangeListener(listener); 
    224225        } 
     226         
     227        // add PropertyChangeListeners to component itself  
     228        for (PropertyChangeListener listener: propertyChangeListeners) 
     229                this.component.addPropertyChangeListener(listener); 
    225230         
    226231        this.parent = parent; 
  • trunk/quest-jfcmonitor/src/main/java/de/ugoe/cs/quest/jfcmonitor/JFCNameChangeListener.java

    r853 r854  
    3030     * <p> 
    3131     * Constructor. Creates a new JFCNameChangeListener with a given  
    32      * {@link JFCMonitorOutputWriter}    
     32     * {@link JFCMonitorOutputWriter}.   
    3333     * </p> 
    3434     * @param outputWriter 
     
    4040        @Override 
    4141        public void propertyChange(PropertyChangeEvent evt) { 
    42                 if (evt.getPropertyName().equals("AccessibleName")){ 
     42                String propertyName = evt.getPropertyName(); 
     43                Component component = null; 
     44                 
     45                if (propertyName.equals("AccessibleName")){ 
    4346                        AccessibleContext context = (AccessibleContext) evt.getSource(); 
    44                         Component component = (Component) context.getAccessibleParent(); 
     47                        component = (Component) context.getAccessibleParent(); 
     48                } 
     49                 
     50                if (propertyName.equals("name")){ 
     51                        component = (Component) evt.getSource(); 
     52                } 
     53                 
     54                if (propertyName.equals("")){ 
     55                         
     56                } 
     57                 
     58                if (component != null){ 
     59                        if (!JFCComponent.isKnown(component)){ 
     60                                System.err.println("Referenced component is not known"); 
     61                                throw new AssertionError("Referenced component is not known."); 
     62                        } 
    4563                        StringBuilder builder = new StringBuilder(); 
    4664                        builder.append("<componentNameChange hash=\""); 
    47                         if (!JFCComponent.isKnown(component)){ 
    48                                         System.err.println("Referenced component is not known"); 
    49                                         throw new AssertionError("Referenced component is not known."); 
    50                         } 
    5165                        builder.append(Integer.toHexString(component.hashCode())); 
    5266                        builder.append("\" newName=\"" + evt.getNewValue()); 
    53                         builder.append("\"/>" + StringTools.ENDLINE); 
     67                        builder.append("\" source=\"" + propertyName); 
     68                        builder.append("\" />" + StringTools.ENDLINE); 
    5469                        outputWriter.write(builder.toString()); 
    55                 }                
     70                } 
    5671        } 
    5772         
Note: See TracChangeset for help on using the changeset viewer.