diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
index 705a5734a93eabaea9588f3c5629c2f1b3f2d895..afd1f9a91f03947add0b56be8f6ef2d8306547a9 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
@@ -67,6 +67,7 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 	private static int yscale= 968;
 	private JPanel modulPanel;
 	private Container mainPane;
+	private int WindowHeight = 968, WindowWidth = 968, topPanelHeight, topPanelWidth, counter = 1;
 
 	/**
 	 * Konstruktor der Klasse GUI
@@ -133,18 +134,33 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		this.addComponentListener(new ComponentListener() {
 			@Override
 			public void componentResized(ComponentEvent e) {
-									
-					if(getWidth() <= getHeight()) {					
-						xscale = getWidth();
-						yscale = getWidth();					
-					}								
-					else {						
-						xscale = getHeight();
-						yscale = getHeight();						
-					}																	
-					if(xscale % 2 == 0 || yscale % 2 == 0) {
-						updateGUI(xscale, yscale);
-					}														
+					
+					
+					
+							
+					
+						
+					
+						WindowHeight = getHeight();
+						WindowWidth = getWidth();
+						topPanelWidth = topPanel.getWidth();
+						topPanelHeight = topPanel.getHeight();
+					
+						if(topPanelWidth <= ((topPanelHeight + WindowHeight) / 2)) {					
+							xscale = topPanelWidth;
+							yscale = topPanelWidth;					
+						}								
+						else {						
+							xscale = (topPanelHeight + WindowHeight) / 2;
+							yscale = (topPanelHeight + WindowHeight) / 2;						
+						}																	
+						//if(WindowWidth % 3 == 0 || WindowHeight % 3 == 0) {
+							updateGUI(xscale, yscale);
+							
+						//}	
+							
+							
+					
 			}
 
 			@Override
@@ -165,30 +181,34 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 				
 			}
 			
-		});
-		
+		});		
 	}
 	
+
 	
 	public void updateGUI(int xscale, int yscale) {
 		
+		counter = 0;
 		
 		modules[0].updateGUI(xscale, yscale);
 		modules[1].updateGUI(xscale, yscale);
 		modules[2].updateGUI(xscale, yscale);
 		modules[3].updateGUI(xscale, yscale);
 		
-						
+		updateSerialLog(WindowWidth);
+					
 	}
 	
 	
 	
+	
+	
 
 	/**
 	 * Erzeugt das Controlpanel mit den Steuerungsknöpfen
 	 * 
 	 * @param simu Instanz des Simulators
-	 * @return JPanel mit allen Knöpfen
+	 * @return JPanel mit allen Knöpfen
 	 */
 	private JPanel createControlPanel(Simulator simu) {
 		
@@ -272,6 +292,23 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		panel.add(scrollPane, BorderLayout.PAGE_END);
 		return panel;
 	}
+	
+	public void updateSerialLog(int size) {
+		
+		
+		
+		if(size >= 1000) {
+			serialLog.setRows(4); // Anzahl der Angezeigten Reihen
+		}
+		else if(size < 1000 && xscale >= 800) {
+			serialLog.setRows(6); // Anzahl der Angezeigten Reihen
+			
+		}
+		else if(size < 800) {
+			serialLog.setRows(8); // Anzahl der Angezeigten Reihen			
+		}
+		
+	}
 
 	/**
 	 * Zeichne alle Verdrahtungen, welcher über die Modulgrenzen hinausgehen.<br>