From 992bb98aa90769ba83e93ee49957fcf3ae138a75 Mon Sep 17 00:00:00 2001
From: Martin Vatshelle <mva021@ii0233228.klient.uib.no>
Date: Fri, 14 Feb 2025 16:17:58 +0100
Subject: [PATCH] Code after lecture 9

---
 .../lecture8_encapsulation/PersonRecord.java  |  4 +--
 .../TrafficLightVisualizer.java               |  1 -
 .../lecture8_encapsulation/UsePerson.java     |  8 ++++-
 .../useTrafficLight.java                      |  2 +-
 src/main/java/lecture9/MyPanel.java           | 27 +++++++++++++++++
 src/main/java/lecture9/Range.java             | 30 +++++++++++++++++++
 src/main/java/lecture9/UseGraphics.java       | 18 +++++++++++
 src/main/java/lecture9/UseRange.java          | 19 ++++++++++++
 8 files changed, 103 insertions(+), 6 deletions(-)
 create mode 100644 src/main/java/lecture9/MyPanel.java
 create mode 100644 src/main/java/lecture9/Range.java
 create mode 100644 src/main/java/lecture9/UseGraphics.java
 create mode 100644 src/main/java/lecture9/UseRange.java

diff --git a/src/main/java/lecture8_encapsulation/PersonRecord.java b/src/main/java/lecture8_encapsulation/PersonRecord.java
index f96d8f3..3c98867 100644
--- a/src/main/java/lecture8_encapsulation/PersonRecord.java
+++ b/src/main/java/lecture8_encapsulation/PersonRecord.java
@@ -1,7 +1,5 @@
 package lecture8_encapsulation;
 
-public record PersonRecord(int age, String name) {
-
-}
+public record PersonRecord(int age, String name) {}
 
 
diff --git a/src/main/java/lecture8_encapsulation/TrafficLightVisualizer.java b/src/main/java/lecture8_encapsulation/TrafficLightVisualizer.java
index 1f1b886..7d15971 100644
--- a/src/main/java/lecture8_encapsulation/TrafficLightVisualizer.java
+++ b/src/main/java/lecture8_encapsulation/TrafficLightVisualizer.java
@@ -87,7 +87,6 @@ public class TrafficLightVisualizer extends JPanel{
 			try {
 				Thread.sleep(1000);
 			} catch (InterruptedException e) {
-				// TODO Auto-generated catch block
 				e.printStackTrace();
 			}
 		}
diff --git a/src/main/java/lecture8_encapsulation/UsePerson.java b/src/main/java/lecture8_encapsulation/UsePerson.java
index c841ef1..c8bb521 100644
--- a/src/main/java/lecture8_encapsulation/UsePerson.java
+++ b/src/main/java/lecture8_encapsulation/UsePerson.java
@@ -4,7 +4,13 @@ public class UsePerson {
 
 	public static void main(String[] args) {
 
-
+		PersonRecord pr = new PersonRecord(12, "Per");
+		System.out.println(pr);
+		Person p = new Person(17,"Lise");
+		System.out.println(p);
+		
+		System.out.println(pr.name());
+		System.out.println(p.getName());
 	}
 	
 }
diff --git a/src/main/java/lecture8_encapsulation/useTrafficLight.java b/src/main/java/lecture8_encapsulation/useTrafficLight.java
index b720c6c..372d3c0 100644
--- a/src/main/java/lecture8_encapsulation/useTrafficLight.java
+++ b/src/main/java/lecture8_encapsulation/useTrafficLight.java
@@ -11,7 +11,7 @@ public class useTrafficLight {
 		//light.green=true; //not allowed when variable is private
 		
 		viewer.view(light);
-		//viewer.run();
+		viewer.run();
 		
 //		System.out.println(light.isValid(true, false, true));
 //		System.out.println(light.isValid(true, true, true));
diff --git a/src/main/java/lecture9/MyPanel.java b/src/main/java/lecture9/MyPanel.java
new file mode 100644
index 0000000..daf6154
--- /dev/null
+++ b/src/main/java/lecture9/MyPanel.java
@@ -0,0 +1,27 @@
+package lecture9;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+
+import javax.swing.JPanel;
+
+public class MyPanel extends JPanel{
+
+	@Override
+	protected void paintComponent(Graphics g) {
+		super.paintComponent(g);
+		for(int i=0; i<100; i+=10) {
+			g.setColor(Color.GREEN);
+			g.fillOval(2*i,100 ,80,i);
+			g.setColor(Color.BLACK);
+			g.drawOval(2*i,100 ,80,i);
+		}
+		g.fillOval(200,100 ,70 ,40);
+		
+		Graphics2D g2 = (Graphics2D)g;
+		
+		
+	}
+	
+}
diff --git a/src/main/java/lecture9/Range.java b/src/main/java/lecture9/Range.java
new file mode 100644
index 0000000..4a75407
--- /dev/null
+++ b/src/main/java/lecture9/Range.java
@@ -0,0 +1,30 @@
+package lecture9;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class Range implements Iterable<Integer>{
+
+	int max;
+	
+	Range(int max){
+		this.max = max;
+	}
+	
+	ArrayList<Integer> getList(){
+		ArrayList<Integer> indices = new ArrayList<Integer>();
+		for(int i=0; i<max; i++) {
+			indices.add(i);
+		}
+		return indices;
+	}
+
+	@Override
+	public Iterator<Integer> iterator() {
+		return getList().iterator();
+	}
+	
+	static Range range(int max) {
+		return new Range(max);
+	}
+}
diff --git a/src/main/java/lecture9/UseGraphics.java b/src/main/java/lecture9/UseGraphics.java
new file mode 100644
index 0000000..0c64d98
--- /dev/null
+++ b/src/main/java/lecture9/UseGraphics.java
@@ -0,0 +1,18 @@
+package lecture9;
+
+import javax.swing.JFrame;
+
+public class UseGraphics {
+
+	public static void main(String[] args) {
+		JFrame myFrame = new JFrame("My program");
+		myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+		myFrame.setSize(300, 300);
+		
+		MyPanel myPanel = new MyPanel();
+		myFrame.add(myPanel);
+		
+		myFrame.setVisible(true);
+	}
+
+}
diff --git a/src/main/java/lecture9/UseRange.java b/src/main/java/lecture9/UseRange.java
new file mode 100644
index 0000000..758a8c9
--- /dev/null
+++ b/src/main/java/lecture9/UseRange.java
@@ -0,0 +1,19 @@
+package lecture9;
+
+import static lecture9.Range.range;
+
+public class UseRange {
+
+	public static void main(String[] args) {
+		//Range range = new Range(10);
+		
+//		for(int i:range.getList()) {
+//		for(int i:new Range(10)) {
+//		for(int i:Range.range(10)) {
+		for(int i:range(10)) {
+			System.out.println(i);
+		}
+
+	}
+
+}
-- 
GitLab