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>