Index: /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java
===================================================================
--- /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java	(revision 742)
+++ /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java	(revision 743)
@@ -340,5 +340,5 @@
                     else if ("hash".equals(atts.getValue("name"))) {
                         currentGuiElementSpec.setElementHash
-                            (atts.getValue("value"));
+                            ((int) Long.parseLong(atts.getValue("value"), 16));
                     }
                 }
@@ -566,7 +566,6 @@
             else
             {
-                throw new SAXException
-                  ("log file has an error, as it contains a key up event on key " + key +
-                   " for which there is no preceeding key down event");
+                Console.printerrln("log file has an error, as it contains a key up event on key " +
+                                   key + " for which there is no preceeding key down event");
             }
 
@@ -645,5 +644,5 @@
             matcher = Pattern.compile(pattern).matcher(matcher.group(2));
             
-            String elementHash = "-1";
+            float elementHash = -1;
             
             pattern = "(([\\d]*)|([\\w$]*)|(([\\w$@\\.]*)=([\\w$@\\.]*)))\\z";
@@ -656,5 +655,5 @@
                         // found digit value. Those in combination usually denote the position
                         // of the GUI element. So calculate an element has out of them
-                        elementHash += valueMatcher.group(2);
+                        elementHash += Integer.parseInt(valueMatcher.group(2));
                     }
                     else if ((valueMatcher.group(5) != null) &&
@@ -667,5 +666,5 @@
                         
                         if ("alignmentX".equals(key) || "alignmentY".equals(key)) {
-                            elementHash += valueMatcher.group(6);
+                            elementHash += Float.parseFloat(valueMatcher.group(6));
                         }
                     }
@@ -673,8 +672,8 @@
             }
 
-            currentGuiElementSpec.setName("unknown(" + elementHash + ")");
+            currentGuiElementSpec.setName("unknown(" + ((int) elementHash) + ")");
             currentGuiElementSpec.setType(type);
             currentGuiElementSpec.setIndex(-1);
-            currentGuiElementSpec.setElementHash(elementHash);
+            currentGuiElementSpec.setElementHash((int) elementHash);
         }
         catch (Exception e)
Index: /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElement.java
===================================================================
--- /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElement.java	(revision 742)
+++ /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElement.java	(revision 743)
@@ -69,5 +69,5 @@
      * @return the hashCode
      */
-    String getElementHash() {
+    int getElementHash() {
         return specification.getElementHash();
     }
Index: /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElementSpec.java
===================================================================
--- /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElementSpec.java	(revision 742)
+++ /trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElementSpec.java	(revision 743)
@@ -46,5 +46,5 @@
      * </p>
      */
-    private String elementHash = "-1";
+    private int elementHash = -1;
 
     /**
@@ -53,5 +53,5 @@
      * </p>
      */
-    private List<String> formerElementHashes = new ArrayList<String>();
+    private List<Integer> formerElementHashes = new ArrayList<Integer>();
 
     /* (non-Javadoc)
@@ -87,5 +87,5 @@
         // the same, then similarity is given. Therefore these are the first two comparisons
         
-        if (elementHash.equals(otherSpec.elementHash)) {
+        if (elementHash == otherSpec.elementHash) {
             return true;
         }
@@ -163,5 +163,5 @@
             ((type == otherSpec.type) || ((type != null) && (type.equals(otherSpec.type)))) &&
             ((icon == otherSpec.icon) || ((icon != null) && (icon.equals(otherSpec.icon)))) &&
-            (index == otherSpec.index) && (elementHash.equals(otherSpec.elementHash));
+            (index == otherSpec.index) && (elementHash == otherSpec.elementHash);
     }
 
@@ -233,5 +233,5 @@
      * @return the elementHash
      */
-    public String getElementHash() {
+    public int getElementHash() {
         return elementHash;
     }
@@ -275,6 +275,6 @@
      * @param elementHash the elementHash to set
      */
-    public void setElementHash(String newElementHash) {
-        if (!this.elementHash.equals("-1") &&
+    public void setElementHash(int newElementHash) {
+        if ((this.elementHash > -1) &&
             !this.formerElementHashes.contains(this.elementHash))
         {
@@ -294,5 +294,5 @@
     void update(JFCGUIElementSpec other) {
         if (other != this) {
-            for (String formerElementHash : other.formerElementHashes) {
+            for (int formerElementHash : other.formerElementHashes) {
                 setElementHash(formerElementHash);
             }
