From 42c8dff2b8e300ec0375270d1fc009db66f57021 Mon Sep 17 00:00:00 2001
From: ennurluaf <95492813+ennurluaf@users.noreply.github.com>
Date: Wed, 30 Jul 2025 11:00:34 +0200
Subject: [PATCH 1/2] Innitial commit
---
yourproject/pom.xml | 20 ++++++
.../src/main/java/yourpackage/main/App.java | 28 ++++++++
.../src/main/java/yourpackage/main/Input.java | 63 ++++++++++++++++++
.../src/main/java/yourpackage/main/Panel.java | 20 ++++++
.../src/test/java/yourpackage/AppTest.java | 38 +++++++++++
.../target/classes/yourpackage/main/App.class | Bin 0 -> 1581 bytes
.../classes/yourpackage/main/Input.class | Bin 0 -> 1423 bytes
.../classes/yourpackage/main/Panel.class | Bin 0 -> 533 bytes
.../compile/default-compile/createdFiles.lst | 0
.../compile/default-compile/inputFiles.lst | 1 +
.../test-classes/yourpackage/AppTest.class | Bin 0 -> 609 bytes
11 files changed, 170 insertions(+)
create mode 100644 yourproject/pom.xml
create mode 100644 yourproject/src/main/java/yourpackage/main/App.java
create mode 100644 yourproject/src/main/java/yourpackage/main/Input.java
create mode 100644 yourproject/src/main/java/yourpackage/main/Panel.java
create mode 100644 yourproject/src/test/java/yourpackage/AppTest.java
create mode 100644 yourproject/target/classes/yourpackage/main/App.class
create mode 100644 yourproject/target/classes/yourpackage/main/Input.class
create mode 100644 yourproject/target/classes/yourpackage/main/Panel.class
create mode 100644 yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
create mode 100644 yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
create mode 100644 yourproject/target/test-classes/yourpackage/AppTest.class
diff --git a/yourproject/pom.xml b/yourproject/pom.xml
new file mode 100644
index 0000000..527cf97
--- /dev/null
+++ b/yourproject/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+
+ yourpackage.main
+ yourproject
+
+ jar
+ 1.0
+ yourproject
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
diff --git a/yourproject/src/main/java/yourpackage/main/App.java b/yourproject/src/main/java/yourpackage/main/App.java
new file mode 100644
index 0000000..d57d2bc
--- /dev/null
+++ b/yourproject/src/main/java/yourpackage/main/App.java
@@ -0,0 +1,28 @@
+package yourpackage.main;
+
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
+
+/**
+ * Hello world!
+ *
+ */
+public class App extends JFrame {
+
+ public App() {
+ init();
+ System.out.println( "Hello World!" );
+ }
+
+ private void init() {
+ setTitle("Hello World Frame");
+ setSize(400, 300);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setLocationRelativeTo(null);
+ setVisible(true);
+ }
+
+ public static void main( String[] args ) {
+ SwingUtilities.invokeLater(() -> new App());
+ }
+}
diff --git a/yourproject/src/main/java/yourpackage/main/Input.java b/yourproject/src/main/java/yourpackage/main/Input.java
new file mode 100644
index 0000000..09a25c0
--- /dev/null
+++ b/yourproject/src/main/java/yourpackage/main/Input.java
@@ -0,0 +1,63 @@
+package yourpackage.main;
+
+import java.awt.event.*;
+
+public class Input implements MouseListener, MouseMotionListener, KeyListener {
+
+ private final App app;
+
+ public Input(App app) {
+ this.app = app;
+ }
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseDragged(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseMoved(MouseEvent e) {
+
+ }
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+
+ }
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+
+ }
+
+ @Override
+ public void keyTyped(KeyEvent e) {
+
+ }
+
+}
diff --git a/yourproject/src/main/java/yourpackage/main/Panel.java b/yourproject/src/main/java/yourpackage/main/Panel.java
new file mode 100644
index 0000000..1f5a22a
--- /dev/null
+++ b/yourproject/src/main/java/yourpackage/main/Panel.java
@@ -0,0 +1,20 @@
+package yourpackage.main;
+
+import java.awt.Graphics;
+
+import javax.swing.JPanel;
+
+public class Panel extends JPanel {
+
+ private final App app;
+
+ public Panel(App app) {
+ this.app = app;
+ }
+
+ @Override
+ protected void paintComponent(Graphics arg0) {
+ super.paintComponent(arg0);
+ }
+
+}
diff --git a/yourproject/src/test/java/yourpackage/AppTest.java b/yourproject/src/test/java/yourpackage/AppTest.java
new file mode 100644
index 0000000..73ab636
--- /dev/null
+++ b/yourproject/src/test/java/yourpackage/AppTest.java
@@ -0,0 +1,38 @@
+package yourpackage;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/yourproject/target/classes/yourpackage/main/App.class b/yourproject/target/classes/yourpackage/main/App.class
new file mode 100644
index 0000000000000000000000000000000000000000..f14436b013bd2c312a1f11e7c4d92cd970efc622
GIT binary patch
literal 1581
zcmbVMYi|=r6g`s|uk9`*b`k=i1*Z+*n8!ljttm8^h9o#VV&m|TkS6gErWwzycE?H6
zU(vtPelQi4`U4QZsp_4zRc}>`50&Me-8=W5d+)ht=Ivi^{sizjo_m;Jm_0JRDCE2Q
zd`|>jE_JXHh8{8ur62hL|0#$MrQQoRRwLdO4A~n}OM8=Hva;M}$ka_o6flXrk7LLd
z!0>?&A6eRRj(MEGw1+8%X@?dlPFT&O*ov-?B1(i~dX{0Xk!(v7JdC8aO&bZ`t>rMw
z;I9d#OnKWxs;FJ}Ki1
zh62U5Wh@hNGL>h^u$?@Jj>_|Ktd>Yr-}v|zH5zKvOB|O|j$1vg9k;atzQZjKq@jg$
z(@m$d$5tw7rHFlej};P=)CXo?G`JPfsPJT*|KKI1@o0}GH8Z9%nu6lpoep2R<{HdX
zZ%vZ?u2_|B@HvwERaXZ|^tLfJwh<3Eg?(i@MEnLC9`4aV6SXCI2Nea41d|;3OTKGO
zbmU_b_o?FU$i(n2Ex=*q0DO(>juP=w!9fjc<}v24v`st{ZxK^mP{#^ad2GuaTpF;Wr#F&Ga$%D;XznhMpw~0o_X(97oRG
zNtnWii6sfdM>w1K(#52rxQ#k6
zU2szvf>aVuAomB@)7SW6gyB3KhKqM-lUPmO?qZErpLQRR?ID_I;W1gBzT>AEjAC8h7
zG7P12KIXQ^{l5LacP?By%`(*WDgTn#Vl4c`?gXP)I5JLzFQOb)7QE(
zu+?xD{!P2oR)!s_&KQ;2{7=pmvF#@!QpCJ2(EchDrKaURL?VurEb8D#;R&wwH2fyw
z{k{rYI@}4yS`5TwcCo(HC(U5qWp%N`S(F+g&b;CZsnbcQ3w)v%<%(me?6kB&`^pUL
zknw3+H;{uGLRrm#o?@Q9i&&+7jnpwxv;eF11EtoJ@3{SqR0`{~uhMPM-3%<+^Qe%j
zOtWzp8>Hx-rjo;`qISuAM(2vj=BO-%fYM(GHbc;8P^UPr4Y6ir%8L@3Z
w+&3fk42T^wqG>?vni2a3!~^V^hWhlMh=+QpkIabY2E=1C;-vx6&~LK&2T4TTtpET3
literal 0
HcmV?d00001
diff --git a/yourproject/target/classes/yourpackage/main/Panel.class b/yourproject/target/classes/yourpackage/main/Panel.class
new file mode 100644
index 0000000000000000000000000000000000000000..0be6ecc24290bc03182e76b45f5f09bd477f6177
GIT binary patch
literal 533
zcmZvZ&rZTX5Ql$TYAdCHfFkP28-Eh(!5fCekYHjOW1{JOsT){@c2kPzV|g$n9(({F
z$~aqznn06ocP2C6ezX1jdj9}$h9esWL;WS5CyIxUd?dUnmyvhFBQddIGE^V<6Myz*
z3mJ{Pt1Qou<4RGRzt(r5RF}azmyt|+3TR|QSB^O(;
z7|Onk#PxhS6v-VQP6WC5amXhDPo$1lNi!YG8AD_Jq)e7{N{U8G`|(u8k%&?fZ~A&F
zk1ta1GT~}0!&$c#Xqmc;8g|K!C!
zgZ4JIY0XnKpxB_V(_Yfsc|-9vt0~i3$~p@$;Zki8JCv*cRHH&X{Wuww?6l;H*;_HK
fc4vvbKc18IR;Z);k7fO`EbOB}4Ejq%HgNb2<_u^)
literal 0
HcmV?d00001
diff --git a/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..ed6b4f6
--- /dev/null
+++ b/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1 @@
+/home/joey/Code/Java/Framework/yourproject/src/main/java/yourpackage/App.java
diff --git a/yourproject/target/test-classes/yourpackage/AppTest.class b/yourproject/target/test-classes/yourpackage/AppTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..528cb7e15589b5902cb1bdc067c4bbffd73a3de1
GIT binary patch
literal 609
zcmZvZ%TB^T6o&tS(!y9pxd~olq6uJP7rMic7!p?v8wiQ+1{|^6N_x@wR=UDy;sf|l
z#xtc0qom1c&z%4K=bO{7@Appt7dSMKV8}nap*I(Uu^3A0YCi8uKQN#%ltxZHjwCWBQqUQ)wlkCM
zaN3t%SM(?3k+a=_nDm6_s60N@f(OSZTYCjmgCQLdLYsJ0`@g{qDL-@qDweA?dlh}d
zK%Swps?<@P961yfafzYu`)aL;@crm!hC-kfW62|&12X`Iqo~Bx2mSJH&p&2
T97DrN)MhS4F#^MWWPb1iM80@l
literal 0
HcmV?d00001
From b022e724d4bdcf269c984ce40f21c5a3c5f6d2a7 Mon Sep 17 00:00:00 2001
From: ennurluaf <95492813+ennurluaf@users.noreply.github.com>
Date: Wed, 30 Jul 2025 13:21:30 +0000
Subject: [PATCH 2/2] changing main class
---
yourproject/pom.xml | 2 +-
.../src/main/java/yourpackage/game/App.java | 69 +++++++++++++++++++
.../yourpackage/{main => game}/Input.java | 8 +--
.../src/main/java/yourpackage/main/App.java | 28 --------
.../src/main/java/yourpackage/main/Panel.java | 20 ------
.../compile/default-compile/inputFiles.lst | 3 +-
6 files changed, 76 insertions(+), 54 deletions(-)
create mode 100644 yourproject/src/main/java/yourpackage/game/App.java
rename yourproject/src/main/java/yourpackage/{main => game}/Input.java (88%)
delete mode 100644 yourproject/src/main/java/yourpackage/main/App.java
delete mode 100644 yourproject/src/main/java/yourpackage/main/Panel.java
diff --git a/yourproject/pom.xml b/yourproject/pom.xml
index 527cf97..f42ef24 100644
--- a/yourproject/pom.xml
+++ b/yourproject/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- yourpackage.main
+ yourpackage.game
yourproject
jar
diff --git a/yourproject/src/main/java/yourpackage/game/App.java b/yourproject/src/main/java/yourpackage/game/App.java
new file mode 100644
index 0000000..82a3288
--- /dev/null
+++ b/yourproject/src/main/java/yourpackage/game/App.java
@@ -0,0 +1,69 @@
+// src/game/GameLoop.java
+package yourpackage.game;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class Game extends JPanel implements Runnable {
+ private Thread thread;
+ private Input input;
+ private boolean running = false;
+ private int fps = 0;
+
+ public Game() {
+ this.input = new Input(this);
+ this.setPreferredSize(new Dimension(800, 600));
+ this.addMouseListener(input);
+ this.addMouseMotionListener(input);
+ this.addKeyListener(input);
+ this.start();
+ }
+
+ public void start() {
+ thread = new Thread(this);
+ running = true;
+ thread.start();
+ }
+
+ @Override
+ public void run() {
+ long lastTime = System.nanoTime();
+ long timer = System.currentTimeMillis();
+ final double ns = 1_000_000_000.0 / 60;
+ double delta = 0;
+ int frames = 0;
+
+ while (running) {
+ long now = System.nanoTime();
+ delta += (now - lastTime) / ns;
+ lastTime = now;
+
+ if (delta >= 1) {
+ repaint();
+ delta--;
+ frames++;
+ }
+
+ if (System.currentTimeMillis() - timer > 1000) {
+ timer += 1000;
+ fps = frames;
+ frames = 0;
+ }
+ }
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ super.paintComponent(g);
+ g.drawString("FPS: " + fps, 10, 20);
+ }
+
+ public static void main(String[] args) {
+ JFrame frame = new JFrame("Game Loop");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setContentPane(new Game());
+ frame.pack();
+ frame.setLocationRelativeTo(null);
+ frame.setVisible(true);
+ }
+}
diff --git a/yourproject/src/main/java/yourpackage/main/Input.java b/yourproject/src/main/java/yourpackage/game/Input.java
similarity index 88%
rename from yourproject/src/main/java/yourpackage/main/Input.java
rename to yourproject/src/main/java/yourpackage/game/Input.java
index 09a25c0..4f55f06 100644
--- a/yourproject/src/main/java/yourpackage/main/Input.java
+++ b/yourproject/src/main/java/yourpackage/game/Input.java
@@ -1,13 +1,13 @@
-package yourpackage.main;
+package yourpackage.game;
import java.awt.event.*;
public class Input implements MouseListener, MouseMotionListener, KeyListener {
- private final App app;
+ private final Game game;
- public Input(App app) {
- this.app = app;
+ public Input(Game game) {
+ this.game = game;
}
@Override
diff --git a/yourproject/src/main/java/yourpackage/main/App.java b/yourproject/src/main/java/yourpackage/main/App.java
deleted file mode 100644
index d57d2bc..0000000
--- a/yourproject/src/main/java/yourpackage/main/App.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package yourpackage.main;
-
-import javax.swing.JFrame;
-import javax.swing.SwingUtilities;
-
-/**
- * Hello world!
- *
- */
-public class App extends JFrame {
-
- public App() {
- init();
- System.out.println( "Hello World!" );
- }
-
- private void init() {
- setTitle("Hello World Frame");
- setSize(400, 300);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setLocationRelativeTo(null);
- setVisible(true);
- }
-
- public static void main( String[] args ) {
- SwingUtilities.invokeLater(() -> new App());
- }
-}
diff --git a/yourproject/src/main/java/yourpackage/main/Panel.java b/yourproject/src/main/java/yourpackage/main/Panel.java
deleted file mode 100644
index 1f5a22a..0000000
--- a/yourproject/src/main/java/yourpackage/main/Panel.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package yourpackage.main;
-
-import java.awt.Graphics;
-
-import javax.swing.JPanel;
-
-public class Panel extends JPanel {
-
- private final App app;
-
- public Panel(App app) {
- this.app = app;
- }
-
- @Override
- protected void paintComponent(Graphics arg0) {
- super.paintComponent(arg0);
- }
-
-}
diff --git a/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index ed6b4f6..9a0181a 100644
--- a/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/yourproject/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1 +1,2 @@
-/home/joey/Code/Java/Framework/yourproject/src/main/java/yourpackage/App.java
+/workspaces/Java-Framework/yourproject/src/main/java/yourpackage/main/App.java
+/workspaces/Java-Framework/yourproject/src/main/java/yourpackage/main/Input.java