From 11b772f45d3b636b03f9c8b7bbe8e28cb0dee9a1 Mon Sep 17 00:00:00 2001
From: Leon Dieter <Leon Dieter@DESKTOP-L4JC8N4>
Date: Sat, 20 Feb 2021 12:29:10 +0100
Subject: [PATCH] Resizing problem solved, nullpointer exception left

---
 .../ardublock/simulator/view/GUI.java         | 46 ++++++-------------
 .../simulator/view/modules/Button.java        | 46 ++++++++++++-------
 .../simulator/view/modules/Poti.java          | 22 ++++++---
 3 files changed, 58 insertions(+), 56 deletions(-)

diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
index 0633134..705a573 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
@@ -133,40 +133,18 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		this.addComponentListener(new ComponentListener() {
 			@Override
 			public void componentResized(ComponentEvent e) {
-				
-				System.out.println("topPanel Höhe und Weite:  " + topPanel.getHeight() + "\t" + topPanel.getWidth());	
-				System.out.println("modulPanel Höhe und Weite:  " + modulPanel.getHeight() + "\t" + modulPanel.getWidth());	
-				System.out.println("Fenster Höhe und Weite:  " + getHeight() + "\t" + getWidth());	
-				
-				
-				
-					if((getWidth() - topPanel.getWidth() < 100) || (topPanel.getHeight() - modulPanel.getHeight() < 100)) {
-						
+									
+					if(getWidth() <= getHeight()) {					
 						xscale = getWidth();
-						yscale = getWidth();
-						
-						
-						
-					
-					
-					
-						
+						yscale = getWidth();					
+					}								
+					else {						
 						xscale = getHeight();
-						yscale = getHeight();
-						
-					}	
-					
-					else {
-						xscale = getWidth();
-						yscale = getHeight();
-					}
-						
-					if(xscale % 4 == 0 || yscale % 10 == 0) {
+						yscale = getHeight();						
+					}																	
+					if(xscale % 2 == 0 || yscale % 2 == 0) {
 						updateGUI(xscale, yscale);
-					}
-					
-					//System.out.println("xScale: " + xscale +  "\tyScale: " + yscale);
-				
+					}														
 			}
 
 			@Override
@@ -370,7 +348,11 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 
 				// e.printStackTrace();
 			}
-			super.repaint();
+			
+			
+				super.repaint();
+			
+				
 		}
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
index 958dbea..1da3b5c 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
@@ -38,12 +38,35 @@ public class Button extends Modul implements ActionListener {
 		iconOn = _icon2;
 		chiplabel = new JLabel();
 		but1 = new JToggleButton();
+		but1.setIcon(iconOff);
+		but1.setActionCommand("0");
+		but1.addActionListener(this);
+		
+		
+		
 		but2 = new JToggleButton();
+		but2.setIcon(iconOff);
+		but2.setActionCommand("1");
+		but2.addActionListener(this);
+		
 		but3 = new JToggleButton();
+		but3.setIcon(iconOff);
+		but3.setActionCommand("2");
+		but3.addActionListener(this);
+		
 		label1 = new JLabel();
+		
+		
+		
 		label2 = new JLabel();
+		
+		
 		label3 = new JLabel();
+		
+		
+		
 		updateGUI(xscale, yscale);
+		
 	
 	}
 	
@@ -57,37 +80,26 @@ public class Button extends Modul implements ActionListener {
 		chiplabel.setIcon(chipIcon_temp);
 		chiplabel.setSize(((int)(0.3037*xscale)), ((int)(0.304*yscale)));
 		layerpane.add(chiplabel, 0);
-
 		
-		but1.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
-		but1.setIcon(iconOff);
-		but1.setActionCommand("0");
-		but1.addActionListener(this);
+		but1.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));	
 		
-		label1.add(but1);
 		label1.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
 		label1.setLocation(((int)(0.02996*xscale)), ((int)(0.06618*yscale)));
 
 		
 		but2.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
-		but2.setIcon(iconOff);
-		but2.setActionCommand("1");
-		but2.addActionListener(this);
-		
-		label2.add(but2);
+			
 		label2.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
 		label2.setLocation(((int)(0.1147*xscale)), ((int)(0.03619*yscale)));
-
 		
 		but3.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
-		but3.setIcon(iconOff);
-		but3.setActionCommand("2");
-		but3.addActionListener(this);
-		
-		label3.add(but3);
+						
 		label3.setSize(((int)(0.0723*xscale)), ((int)(0.0724*yscale)));
 		label3.setLocation(((int)(0.200*xscale)), ((int)(0.06618*yscale)));
 
+		label1.add(but1);
+		label2.add(but2);
+		label3.add(but3);
 		layerpane.add(label1, 0);
 		layerpane.add(label2, 0);
 		layerpane.add(label3, 0);
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
index 1eeea9a..80b2809 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
@@ -4,6 +4,7 @@
 package tec.letsgoing.ardublock.simulator.view.modules;
 
 import java.awt.Dimension;
+import java.awt.Font;
 import java.awt.Image;
 import java.awt.Point;
 import java.awt.event.MouseWheelEvent;
@@ -31,7 +32,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI;
 public class Poti extends Modul implements ChangeListener, MouseWheelListener {
 	int value = 0;
 	private JSlider slider;
-	private JLabel chiplabel;
+	private JLabel chiplabel, sliderlabel1, sliderlabel2, sliderlabel3;
 	private ImageIcon chipIcon, chipIcon_temp;
 	private JPanel sliderPanel;
 	private Hashtable<Integer, JLabel> labelTable;
@@ -47,10 +48,13 @@ public class Poti extends Modul implements ChangeListener, MouseWheelListener {
 		slider.setMinorTickSpacing(64);
 		slider.setPaintTicks(true);		
 		
-		// Erzeuge eine individuelle Slider Beschriftung		
-		labelTable.put(new Integer(10), new JLabel("0%"));
-		labelTable.put(new Integer(512), new JLabel("50%"));
-		labelTable.put(new Integer(1023), new JLabel("100%"));
+		// Erzeuge eine individuelle Slider Beschriftung
+		sliderlabel1 = new JLabel("0%");
+		sliderlabel2 = new JLabel("50%");
+		sliderlabel3 = new JLabel("100%");
+		labelTable.put(new Integer(10), sliderlabel1);
+		labelTable.put(new Integer(512), sliderlabel2);
+		labelTable.put(new Integer(1023), sliderlabel3);
 		slider.setLabelTable(labelTable);
 		slider.setPaintLabels(true);
 		slider.setOpaque(false);
@@ -81,8 +85,12 @@ public class Poti extends Modul implements ChangeListener, MouseWheelListener {
 		chiplabel.setIcon(chipIcon_temp);
 		chiplabel.setSize(((int)(0.3037*xscale)), ((int)(0.304*yscale)));
 		
-		slider.setPreferredSize(new Dimension(((int)(0.186*xscale)), ((int)(0.0517*yscale))));
-		sliderPanel.setSize(((int)(0.2066*xscale)), ((int)(0.0517*yscale)));
+		
+		sliderlabel1.setFont(new Font(sliderlabel1.getName(), Font.BOLD, ((int)(0.0115*xscale))));
+		sliderlabel2.setFont(new Font(sliderlabel1.getName(), Font.BOLD, ((int)(0.0115*xscale))));
+		sliderlabel3.setFont(new Font(sliderlabel1.getName(), Font.BOLD, ((int)(0.0115*xscale))));
+		slider.setPreferredSize(new Dimension(((int)(0.186*xscale)), ((int)(0.05*yscale))));
+		sliderPanel.setSize(((int)(0.2066*xscale)), ((int)(0.066*yscale)));
 		sliderPanel.setLocation(((int)(0.04855*xscale)), ((int)(0.175*yscale)));
 
 		calculatePinPos();
-- 
GitLab