Kommentieren der GUI - Klasse beendet
parent
5059220f31
commit
cb61ed7ff4
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/lenzw/OneDrive/Dokumente/Programmier Projekte/mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>PongMitDatenbank</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1 @@
|
||||||
|
/package1/
|
BIN
bin/Ball.class
BIN
bin/Ball.class
Binary file not shown.
BIN
bin/GUI$1.class
BIN
bin/GUI$1.class
Binary file not shown.
BIN
bin/GUI.class
BIN
bin/GUI.class
Binary file not shown.
BIN
bin/Game.class
BIN
bin/Game.class
Binary file not shown.
BIN
bin/Lives.class
BIN
bin/Lives.class
Binary file not shown.
BIN
bin/Main.class
BIN
bin/Main.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/Player.class
BIN
bin/Player.class
Binary file not shown.
BIN
bin/Wall.class
BIN
bin/Wall.class
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,5 @@
|
||||||
|
module PongMitDatenbank {
|
||||||
|
requires java.desktop;
|
||||||
|
requires java.sql;
|
||||||
|
requires mysql.connector.java;
|
||||||
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
public class Ball extends Picture {
|
public class Ball extends Picture {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
|
|
||||||
// Imports:
|
// Imports:
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
@ -24,8 +25,9 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
JPanel panel; // Auf dem Panel werden alle GUI - Elemente gespeichert
|
JPanel panel; // Auf dem Panel werden alle GUI - Elemente gespeichert
|
||||||
|
|
||||||
JTextField eingabe; // Eingabefeld für Namen des Spielers
|
JTextField eingabe; // Eingabefeld für Namen des Spielers
|
||||||
JButton enter; // Ein Button, der wenn er gedrückt wird, die Daten in die Datenbank einfügen
|
// Ein Button, der wenn er gedrückt wird, die Daten in die Datenbank einfügen
|
||||||
// soll
|
// soll:
|
||||||
|
JButton enter;
|
||||||
JLabel info; // Ein JLabel auf dem ein kurzer Info - Text abgebildet wird
|
JLabel info; // Ein JLabel auf dem ein kurzer Info - Text abgebildet wird
|
||||||
|
|
||||||
// Die folgenden JLabel werden für die Bestenliste benötigt, welche unter den
|
// Die folgenden JLabel werden für die Bestenliste benötigt, welche unter den
|
||||||
|
@ -41,15 +43,13 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
public GUI(int score) throws SQLException { // Erstellen des Konstruktors mit der Eingabe score
|
public GUI(int score) throws SQLException { // Erstellen des Konstruktors mit der Eingabe score
|
||||||
|
|
||||||
// Initialisieren der Datenbank
|
// Initialisieren der Datenbank
|
||||||
// datenbank = new MySQLConnector("LenzundTilman", "Xc37zTVG8", "10.16.225.2",
|
datenbank = new MySQLConnector("LenzundTilman", "Xc37zTVG8", "10.16.225.2", "pong");
|
||||||
// "pong");
|
|
||||||
|
|
||||||
this.score = score; // score wird initialisiert mit dem Wert des erreichten Scores (Kontakte des
|
this.score = score; // score wird initialisiert mit dem Wert des erreichten Scores (Kontakte des
|
||||||
// Spielers mit dem Ball)
|
// Spielers mit dem Ball)
|
||||||
|
|
||||||
// datenbank.connect(); // Herstellen der Verbindung zur Datenbank:
|
datenbank.connect(); // Herstellen der Verbindung zur Datenbank:
|
||||||
// spielNr = datenbank.getRowCount("highscore") + 1; // Errechnung der aktuellen
|
spielNr = datenbank.getRowCount("highscore") + 1; // Errechnung der aktuellen Spielnummer
|
||||||
// Spielnummer
|
|
||||||
|
|
||||||
// Initialisieren der GUI - Elemente:
|
// Initialisieren der GUI - Elemente:
|
||||||
panel = new JPanel();
|
panel = new JPanel();
|
||||||
|
@ -57,19 +57,22 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
enter = new JButton("Enter");
|
enter = new JButton("Enter");
|
||||||
info = new JLabel("Congrats! You achieved a Score of " + score + "! Please enter a name!");
|
info = new JLabel("Congrats! You achieved a Score of " + score + "! Please enter a name!");
|
||||||
|
|
||||||
spielNr = 1000;
|
|
||||||
// Initialisieren des Frames:
|
// Initialisieren des Frames:
|
||||||
this.setBounds(300, 300, 370, 400); // Setzen der Position auf dem Monito und der Größe
|
this.setBounds(300, 300, 370, 400); // Setzen der Position auf dem Monito und der Größe
|
||||||
this.setVisible(true); // Sichtbarkeit des Frames
|
this.setVisible(true); // Sichtbarkeit des Frames
|
||||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Progamm wird geschlossen wenn das Fenster
|
// Progamm wird geschlossen wenn das Fenster geschlossen wird:
|
||||||
// geschlossen wird
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
this.setTitle("Game " + spielNr); // Der Titel des Frames wird gesetzt.
|
this.setTitle("Game " + spielNr); // Der Titel des Frames wird gesetzt.
|
||||||
|
// Der Inhallt des Panels wird auf den Frame projeziert:
|
||||||
this.setContentPane(panel);
|
this.setContentPane(panel);
|
||||||
this.getContentPane();
|
this.getContentPane();
|
||||||
|
|
||||||
this.setResizable(false); // Festergrösse ist unveränderlich
|
this.setResizable(false); // Festergrösse ist unveränderlich
|
||||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Progamm wird geschlossen wenn das Fenster geschlossen
|
// Progamm wird geschlossen wenn das Fenster geschlossen wird:
|
||||||
// wird
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
this.getContentPane().setLayout(null); // kein Layout
|
|
||||||
|
this.getContentPane().setLayout(null); // Layout wird ermöglicht
|
||||||
|
|
||||||
scores = new JLabel[11];
|
scores = new JLabel[11];
|
||||||
names = new JLabel[11];
|
names = new JLabel[11];
|
||||||
|
@ -89,21 +92,17 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
gameNr[0].setBounds(0, 120, 150, 20);
|
gameNr[0].setBounds(0, 120, 150, 20);
|
||||||
|
|
||||||
// Anfrage an die Datenbank wird gestellt:
|
// Anfrage an die Datenbank wird gestellt:
|
||||||
// rs = datenbank.executeQuery("SELECT * FROM highscore ORDER BY Score DESC");
|
rs = datenbank.executeQuery("SELECT * FROM highscore ORDER BY Score DESC");
|
||||||
|
|
||||||
// Erstellen der Top 10 Liste:
|
// Erstellen der Top 10 Liste:
|
||||||
for (int i = 1; i < scores.length; i++) {
|
for (int i = 1; i < scores.length; i++) {
|
||||||
try {
|
try {
|
||||||
// rs.next(); // Auslesen der nächsten Zeile
|
rs.next(); // Auslesen der nächsten Zeile
|
||||||
|
|
||||||
// Setzen der Labels mit den jeweiligen Inhalten:
|
// Setzen der Labels mit den jeweiligen Inhalten:
|
||||||
// scores[i] = new JLabel(Integer.toString(rs.getInt("Score")));
|
scores[i] = new JLabel(Integer.toString(rs.getInt("Score")));
|
||||||
// names[i] = new JLabel(rs.getString("Name"));
|
names[i] = new JLabel(rs.getString("Name"));
|
||||||
// gameNr[i] = new JLabel(Integer.toString(rs.getInt("SpielNr")));
|
gameNr[i] = new JLabel(Integer.toString(rs.getInt("SpielNr")));
|
||||||
|
|
||||||
scores[i] = new JLabel(Integer.toString(i));
|
|
||||||
names[i] = new JLabel(Integer.toString(i));
|
|
||||||
gameNr[i] = new JLabel(Integer.toString(i));
|
|
||||||
|
|
||||||
scores[i].setBounds(300, 120 + i * 20, 150, 20); //
|
scores[i].setBounds(300, 120 + i * 20, 150, 20); //
|
||||||
names[i].setBounds(150, 120 + i * 20, 150, 20); // Poition(und Grösse) des Panels der Top Scores
|
names[i].setBounds(150, 120 + i * 20, 150, 20); // Poition(und Grösse) des Panels der Top Scores
|
||||||
|
@ -116,8 +115,8 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
|
|
||||||
System.out.println(i);
|
System.out.println(i);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) { // Falls etwas schief läuft
|
||||||
System.out.println("Fehler: " + e); // Falls etwas schief läuft
|
System.out.println("Fehler: " + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,8 +125,6 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
panel.add(eingabe);
|
panel.add(eingabe);
|
||||||
panel.add(enter);
|
panel.add(enter);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Setzen der Positionen und Größen von 'eingabe', 'enter', und 'info'
|
// Setzen der Positionen und Größen von 'eingabe', 'enter', und 'info'
|
||||||
eingabe.setBounds(50, 50, 250, 20);
|
eingabe.setBounds(50, 50, 250, 20);
|
||||||
enter.setBounds(50, 80, 100, 30);
|
enter.setBounds(50, 80, 100, 30);
|
||||||
|
@ -146,12 +143,12 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void button_ActionPerformed(ActionEvent evt) throws SQLException { // Was passieren soll, wenn der Button
|
// Was passieren soll, wenn der Button gedrückt wird
|
||||||
// gedrückt wird
|
public void button_ActionPerformed(ActionEvent evt) throws SQLException {
|
||||||
//datenbank.updateDatabase("INSERT INTO `highscore` (`Score`, `Name`, `SpielNr`) VALUES ('" + score + "', '"
|
datenbank.updateDatabase("INSERT INTO `highscore` (`Score`, `Name`,`SpielNr`) VALUES ('" + score + "', '"
|
||||||
// + eingabe.getText() + "','" + spielNr + "')"); // Einfügen der Daten in die Datenbank
|
+ eingabe.getText() + "','" + spielNr + "')"); // Einfügen der Daten in die Datenbank
|
||||||
this.dispose(); // Der Frame wird geschlossen
|
this.dispose(); // Der Frame wird geschlossen
|
||||||
//datenbank.disconnect(); // Die Verbindung zur Datenbank wird getrennt
|
datenbank.disconnect(); // Die Verbindung zur Datenbank wird getrennt
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
package package1;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
@ -84,7 +86,7 @@ public class Game {
|
||||||
player.setBounds(player.getPosi('x', 0), player.getPosi('y', 0), 10, 100);
|
player.setBounds(player.getPosi('x', 0), player.getPosi('y', 0), 10, 100);
|
||||||
//delay(3000);
|
//delay(3000);
|
||||||
lastT = System.nanoTime();
|
lastT = System.nanoTime();
|
||||||
while (lives < 0) {
|
while (lives > 0) {
|
||||||
dt = System.nanoTime() - lastT;
|
dt = System.nanoTime() - lastT;
|
||||||
lastT = System.nanoTime();
|
lastT = System.nanoTime();
|
||||||
|
|
||||||
|
@ -124,6 +126,7 @@ public class Game {
|
||||||
|
|
||||||
}
|
}
|
||||||
frame.dispose();
|
frame.dispose();
|
||||||
|
@SuppressWarnings("unused")
|
||||||
GUI Gui = new GUI(score);
|
GUI Gui = new GUI(score);
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
|
|
||||||
public class Lives extends Picture{
|
public class Lives extends Picture{
|
||||||
public Lives() {
|
public Lives() {
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
@ -6,7 +7,6 @@ public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) throws SQLException {
|
public static void main(String[] args) throws SQLException {
|
||||||
|
|
||||||
// System.out.println("test");
|
|
||||||
System.setProperty("sun.java2d.opengl", "true");
|
System.setProperty("sun.java2d.opengl", "true");
|
||||||
Game Game = new Game();
|
Game Game = new Game();
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
|
package package1;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
|
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
|
||||||
|
|
||||||
|
// Diese Klasse ist für die Verbindung zur Datenbank
|
||||||
public class MySQLConnector {
|
public class MySQLConnector {
|
||||||
|
|
||||||
private MysqlDataSource ds;
|
private MysqlDataSource ds;
|
||||||
private Connection conn;
|
private Connection conn;
|
||||||
private Statement s;
|
private Statement s;
|
||||||
|
|
||||||
|
// Erstellen des Konstruktors mit den richtigen Daten:
|
||||||
public MySQLConnector(String user, String pw, String server, String db) {
|
public MySQLConnector(String user, String pw, String server, String db) {
|
||||||
ds = new MysqlDataSource();
|
ds = new MysqlDataSource();
|
||||||
ds.setUser(user);
|
ds.setUser(user);
|
||||||
|
@ -18,27 +22,30 @@ public class MySQLConnector {
|
||||||
ds.setDatabaseName(db);
|
ds.setDatabaseName(db);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connect() throws SQLException {
|
public void connect() throws SQLException { // Methode, die die Verbindung zur Datenbank herstellt
|
||||||
conn = ds.getConnection();
|
conn = ds.getConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void disconnect() throws SQLException {
|
public void disconnect() throws SQLException { // Methode, die die Verbindung zur Datenbank auflöst
|
||||||
s.close();
|
s.close();
|
||||||
conn.close();
|
conn.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Methode, die den eingegebenen SQL Befehl auf die Datenbank anwendet:
|
||||||
public ResultSet executeQuery(String query) throws SQLException {
|
public ResultSet executeQuery(String query) throws SQLException {
|
||||||
s = conn.createStatement();
|
s = conn.createStatement();
|
||||||
ResultSet rs = s.executeQuery(query);
|
ResultSet rs = s.executeQuery(query);
|
||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateDatabase(String whatever) throws SQLException{
|
// Methode, das einen neuen Datensatz in die Datenbank einfügt:
|
||||||
|
public void updateDatabase(String whatever) throws SQLException {
|
||||||
s = conn.createStatement();
|
s = conn.createStatement();
|
||||||
s.executeUpdate(whatever);
|
s.executeUpdate(whatever);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRowCount(String table) throws SQLException{
|
// Methode, die die Anzahl der Datensätze der Tabelle zurückgibt:
|
||||||
|
public int getRowCount(String table) throws SQLException {
|
||||||
s = conn.createStatement();
|
s = conn.createStatement();
|
||||||
ResultSet rs = s.executeQuery("Select * From " + table);
|
ResultSet rs = s.executeQuery("Select * From " + table);
|
||||||
rs.last();
|
rs.last();
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.KeyListener;
|
import java.awt.event.KeyListener;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
package package1;
|
||||||
|
|
||||||
public class Wall extends Picture {
|
public class Wall extends Picture {
|
||||||
private int pos = 0;
|
private int pos = 0;
|
Loading…
Reference in New Issue