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 {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
|
||||
// Imports:
|
||||
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
|
||||
|
||||
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
|
||||
// soll
|
||||
// Ein Button, der wenn er gedrückt wird, die Daten in die Datenbank einfügen
|
||||
// soll:
|
||||
JButton enter;
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
// Initialisieren der Datenbank
|
||||
// datenbank = new MySQLConnector("LenzundTilman", "Xc37zTVG8", "10.16.225.2",
|
||||
// "pong");
|
||||
datenbank = new MySQLConnector("LenzundTilman", "Xc37zTVG8", "10.16.225.2", "pong");
|
||||
|
||||
this.score = score; // score wird initialisiert mit dem Wert des erreichten Scores (Kontakte des
|
||||
// Spielers mit dem Ball)
|
||||
|
||||
// datenbank.connect(); // Herstellen der Verbindung zur Datenbank:
|
||||
// spielNr = datenbank.getRowCount("highscore") + 1; // Errechnung der aktuellen
|
||||
// Spielnummer
|
||||
datenbank.connect(); // Herstellen der Verbindung zur Datenbank:
|
||||
spielNr = datenbank.getRowCount("highscore") + 1; // Errechnung der aktuellen Spielnummer
|
||||
|
||||
// Initialisieren der GUI - Elemente:
|
||||
panel = new JPanel();
|
||||
|
@ -57,19 +57,22 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
|||
enter = new JButton("Enter");
|
||||
info = new JLabel("Congrats! You achieved a Score of " + score + "! Please enter a name!");
|
||||
|
||||
spielNr = 1000;
|
||||
// Initialisieren des Frames:
|
||||
this.setBounds(300, 300, 370, 400); // Setzen der Position auf dem Monito und der Größe
|
||||
this.setVisible(true); // Sichtbarkeit des Frames
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Progamm wird geschlossen wenn das Fenster
|
||||
// geschlossen wird
|
||||
// Progamm wird geschlossen wenn das Fenster geschlossen wird:
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
this.setTitle("Game " + spielNr); // Der Titel des Frames wird gesetzt.
|
||||
// Der Inhallt des Panels wird auf den Frame projeziert:
|
||||
this.setContentPane(panel);
|
||||
this.getContentPane();
|
||||
|
||||
this.setResizable(false); // Festergrösse ist unveränderlich
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Progamm wird geschlossen wenn das Fenster geschlossen
|
||||
// wird
|
||||
this.getContentPane().setLayout(null); // kein Layout
|
||||
// Progamm wird geschlossen wenn das Fenster geschlossen wird:
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
this.getContentPane().setLayout(null); // Layout wird ermöglicht
|
||||
|
||||
scores = 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);
|
||||
|
||||
// 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:
|
||||
for (int i = 1; i < scores.length; i++) {
|
||||
try {
|
||||
// rs.next(); // Auslesen der nächsten Zeile
|
||||
rs.next(); // Auslesen der nächsten Zeile
|
||||
|
||||
// Setzen der Labels mit den jeweiligen Inhalten:
|
||||
// scores[i] = new JLabel(Integer.toString(rs.getInt("Score")));
|
||||
// names[i] = new JLabel(rs.getString("Name"));
|
||||
// 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] = new JLabel(Integer.toString(rs.getInt("Score")));
|
||||
names[i] = new JLabel(rs.getString("Name"));
|
||||
gameNr[i] = new JLabel(Integer.toString(rs.getInt("SpielNr")));
|
||||
|
||||
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
|
||||
|
@ -116,8 +115,8 @@ public class GUI extends JFrame { // extends JFrame --> Jede 'GUI' ist auch ein
|
|||
|
||||
System.out.println(i);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("Fehler: " + e); // Falls etwas schief läuft
|
||||
} catch (Exception 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(enter);
|
||||
|
||||
|
||||
|
||||
// Setzen der Positionen und Größen von 'eingabe', 'enter', und 'info'
|
||||
eingabe.setBounds(50, 50, 250, 20);
|
||||
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
|
||||
// gedrückt wird
|
||||
//datenbank.updateDatabase("INSERT INTO `highscore` (`Score`, `Name`, `SpielNr`) VALUES ('" + score + "', '"
|
||||
// + eingabe.getText() + "','" + spielNr + "')"); // Einfügen der Daten in die Datenbank
|
||||
// Was passieren soll, wenn der Button gedrückt wird
|
||||
public void button_ActionPerformed(ActionEvent evt) throws SQLException {
|
||||
datenbank.updateDatabase("INSERT INTO `highscore` (`Score`, `Name`,`SpielNr`) VALUES ('" + score + "', '"
|
||||
+ eingabe.getText() + "','" + spielNr + "')"); // Einfügen der Daten in die Datenbank
|
||||
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.Font;
|
||||
import java.sql.SQLException;
|
||||
|
@ -84,7 +86,7 @@ public class Game {
|
|||
player.setBounds(player.getPosi('x', 0), player.getPosi('y', 0), 10, 100);
|
||||
//delay(3000);
|
||||
lastT = System.nanoTime();
|
||||
while (lives < 0) {
|
||||
while (lives > 0) {
|
||||
dt = System.nanoTime() - lastT;
|
||||
lastT = System.nanoTime();
|
||||
|
||||
|
@ -124,6 +126,7 @@ public class Game {
|
|||
|
||||
}
|
||||
frame.dispose();
|
||||
@SuppressWarnings("unused")
|
||||
GUI Gui = new GUI(score);
|
||||
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
|
||||
public class Lives extends Picture{
|
||||
public Lives() {
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class Main {
|
||||
|
@ -6,7 +7,6 @@ public class Main {
|
|||
|
||||
public static void main(String[] args) throws SQLException {
|
||||
|
||||
// System.out.println("test");
|
||||
System.setProperty("sun.java2d.opengl", "true");
|
||||
Game Game = new Game();
|
||||
|
|
@ -1,15 +1,19 @@
|
|||
package package1;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.Statement;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.ResultSet;
|
||||
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
|
||||
|
||||
// Diese Klasse ist für die Verbindung zur Datenbank
|
||||
public class MySQLConnector {
|
||||
|
||||
private MysqlDataSource ds;
|
||||
private Connection conn;
|
||||
private Statement s;
|
||||
|
||||
// Erstellen des Konstruktors mit den richtigen Daten:
|
||||
public MySQLConnector(String user, String pw, String server, String db) {
|
||||
ds = new MysqlDataSource();
|
||||
ds.setUser(user);
|
||||
|
@ -18,27 +22,30 @@ public class MySQLConnector {
|
|||
ds.setDatabaseName(db);
|
||||
}
|
||||
|
||||
public void connect() throws SQLException {
|
||||
public void connect() throws SQLException { // Methode, die die Verbindung zur Datenbank herstellt
|
||||
conn = ds.getConnection();
|
||||
}
|
||||
|
||||
public void disconnect() throws SQLException {
|
||||
public void disconnect() throws SQLException { // Methode, die die Verbindung zur Datenbank auflöst
|
||||
s.close();
|
||||
conn.close();
|
||||
}
|
||||
|
||||
// Methode, die den eingegebenen SQL Befehl auf die Datenbank anwendet:
|
||||
public ResultSet executeQuery(String query) throws SQLException {
|
||||
s = conn.createStatement();
|
||||
ResultSet rs = s.executeQuery(query);
|
||||
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.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();
|
||||
ResultSet rs = s.executeQuery("Select * From " + table);
|
||||
rs.last();
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.KeyListener;
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
package package1;
|
||||
|
||||
public class Wall extends Picture {
|
||||
private int pos = 0;
|
Loading…
Reference in New Issue