Klassen Klassen Aufruf Fehlgeschlagen

cool_brivk24

Mitglied
Hallo liebe User. Ich programmiere grade ein Menü für Spiele und habe schon das erste Spiel Pong programmiert. Ich suche schon lange im Internet finde aber nicht die richtigen antworten.
Ich habe einen JButton programmiert der eine Klasse aufrufen soll(Codes unten). Wenn der Button gedrückt wurde soll eine bestimmte Klase(Im meinem fall PongStart) aufgerufen werden, aber es tut sich nix. Ich habe schon das hier probiert
also
new PongStart();
System.out.println("Test");

es wird mir zwar Test ausgegeben, aber die Pongstart Klasse wird nicht ausgeführt. Wenn ich aber auf die PongStart Klasse gehe und dann auf run Klicke wird sie geöffnet. Ich hoffe ihr könnt mir helfen. MFG cool_brivk24



PS: Hier die Codes:

ActionListener(Wenn der Button gedrückt wird)



package pack1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionHandler implements ActionListener{
public ActionHandler() {

}
@Override
public void actionPerformed(ActionEvent e) {

if(e.getSource() == Main.button) {

new PongStart();
System.out.println("TestTest");

}

}
}

und hier wo mein/e Buton/s festgelegt sind:


package pack1;
import java.awt.Color;
import java.awt.event.*;

import javax.swing.*;
public class Main {

static JButton button;
public Main() {
JFrame frame = new JFrame("SpielAuswahl");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
frame.requestFocus();


button = new JButton("Pong");
button.setBounds(120, 40, 160, 40);
button.setBackground(Color.LIGHT_GRAY);
button.setFocusPainted(false);
button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
button.addActionListener(new ActionHandler());

//Button Coordinaten (120, 40, 160, 40) rechne + 80 um runter zu kommen.


button.setVisible(true);
frame.add(button);

frame.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
 

Robat

Top Contributor
Code bitte in Code Tags. (siehe meine Signatur)
Wenn dir Test ausgegeben wird dann liegt der Fehler nicht am geposteten Code.
Wie sieht denn die Klasse PingStart aus?
 

VfL_Freak

Top Contributor
Moin,

Erstens: nutze bitte die Code-Tags, so bekommt man ja Augenkrebs :confused:
Zweitens: habe versucht, Deinen Code zu überfliegen, ist aber gar nicht so leicht, zu begreifen, was da wie zusammenhängt (siehe auch erstens ;))
Was genau ist denn new PongStart() rsp. soll das tun???
VG Klaus

EDIT: shit, too late ... :(
 
Code:
ActionListener(Wenn der Button gedrückt wird)
package pack1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionHandler implements ActionListener{
public ActionHandler() {
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == Main.button) {
new PongStart();
System.out.println("TestTest");

}

}
}

und hier wo mein/e Button/s festgelegt sind:


package pack1;
import java.awt.Color;
import java.awt.event.*;

import javax.swing.*;
public class Main {

static JButton button;
public Main() {
JFrame frame = new JFrame("SpielAuswahl");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
frame.requestFocus();


button = new JButton("Pong");
button.setBounds(120, 40, 160, 40);
button.setBackground(Color.LIGHT_GRAY);
button.setFocusPainted(false);
button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
button.addActionListener(new ActionHandler());

//Button Coordinaten (120, 40, 160, 40) rechne + 80 um runter zu kommen.


button.setVisible(true);
frame.add(button);

frame.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}

Hier, für alle die noch helfen wollen.
 

jCoder1984

Aktives Mitglied
Hallo habe mir mal die Mühe gemacht und deinen Code formatiert :
Java:
ActionListener(Wenn der Button gedrückt wird)package pack1;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ActionHandler implements ActionListener {
    public ActionHandler() {
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == Main.button) {
            new PongStart();
            System.out.println("TestTest");

        }

    }
}

und    hier
wo mein/e Button/s festgelegt sind:

package pack1;

import java.awt.Color;
import java.awt.event.*;

import javax.swing.*;

public class Main {

    static JButton button;

    public Main() {
        JFrame frame = new JFrame("SpielAuswahl");
        frame.setSize(800, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setLayout(null);
        frame.requestFocus();

        button = new JButton("Pong");
        button.setBounds(120, 40, 160, 40);
        button.setBackground(Color.LIGHT_GRAY);
        button.setFocusPainted(false);
        button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        button.addActionListener(new ActionHandler());

        // Button Coordinaten (120, 40, 160, 40) rechne + 80 um runter zu kommen.

        button.setVisible(true);
        frame.add(button);

        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new Main();
    }
}

Versuch mal folgendes :
Java:
        button.addActionListener(new ActionListener() {
          
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
              
            }
        });
 

cool_brivk24

Mitglied
//Hier meine PongStart Klasse

Java:
package pack1;

public class PongStart {

    public static void main(String[] args) {

        new Var();
        new Gui();
        new Movement();
        new GegnerMovement();
        new BallMovement();
        new BallKollision();
        new KeyHandler();
       
        System.out.println("DoppelTest");
    }

}


Ich will die PongStart Klasse starten bzw. aufrufen um meine Programme die Pong Steuern bzw. class zu öffnen.

Also nochmal nicht so komplex: Ich will das komplette Spiel starten.
 

Robat

Top Contributor
Das was ich vermutet habe..
new PongStart() erstellt eine neue Instanz von PongStart und der Konstruktor wird aufgerufen.
In deiner PongStart-Klasse hast du aber keinen Konstruktor definiert sondern alles in die main - Methode geschrieben (die an der Stelle fehl am Platz ist, da du dein Programm ja aus einer anderen Klasse heraus starten willst.).
Erstell in PongStart einen Konstruktor und schieb den Code aus der Main da rein.
 

MiMij

Bekanntes Mitglied
Und noch der Hinweis um es deutlich zu machen: Du brauchst immer nur 1 main-Methode, eben in der Klasse welche du startest. In allen anderen Klassen benötigst du keine main-Methode mehr. Denn die main-Methode ist nur der Einstiegspunkt ins Programm.
Den Rest hat Robat schon erklärt.
 

cool_brivk24

Mitglied
Ich habe jetzt den Code geändert(Entschuldigt die Fehler im Code, ich bin nicht so erfahren):

Java:
package pack1;
import java.awt.Color;
import java.awt.event.ActionEvent;

import javax.swing.*;
public class Main {
 
 static JButton button;
 public Main() {
  JFrame frame = new JFrame("SpielAuswahl");
  frame.setSize(800, 600);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setResizable(false);
  frame.setLocationRelativeTo(null);
  frame.setLayout(null);
  frame.requestFocus();
        
  
  button = new JButton("Pong");
  button.setBounds(120, 40, 160, 40);
  button.setBackground(Color.LIGHT_GRAY);
  button.setFocusPainted(false);
  button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
  
  
  //Button Coordinaten (120, 40, 160, 40) rechne + 80 um runter zu kommen.
  
  
  button.setVisible(true);
  frame.add(button);
  
  frame.setVisible(true);
 }
 public static void main(String[] args) {
  
  
  
    
   }
 public void actionPerformed(ActionEvent e) {
  
  if(e.getSource() == Main.button) {
   
   new PongStart();
   System.out.println("TestTest");
   
  }
  
 }
}
Ich kann die Klasse Main nicht aufrufen bzw. runnen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Ableiten - Methoden aufruf bei abgeleiteten Klassen Allgemeine Java-Themen 4
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
Zrebna Wie ermittelt man alle testbaren (zu testenden) Klassen in seinem Maven-Projekt? Allgemeine Java-Themen 23
8u3631984 Jacoco Testcoverage bei Abstracten Klassen in verschachtelten Modulen Allgemeine Java-Themen 6
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
N abstracte klassen methoden Allgemeine Java-Themen 32
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
L Classpath Zur Laufzeit bestimmte Klassen in Classloader hinzufügen? Allgemeine Java-Themen 4
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
D OOP Gemeinsamen ID-Raum für zwei Klassen implementieren Allgemeine Java-Themen 7
B Problem mit meinen Klassen Allgemeine Java-Themen 6
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
F Code in Klassen bringen Allgemeine Java-Themen 4
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
F Klassen Verwendung abstrakter Klassen Allgemeine Java-Themen 9
W Variablenübergabe über mehrere Klassen Allgemeine Java-Themen 4
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
D Klassen JLabels in anderen Klassen verwenden. Allgemeine Java-Themen 7
H Klassen LibGDX - Verschiedene Klassen als Value in einer Map Allgemeine Java-Themen 8
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
J Tetris Probleme bei Klassen Allgemeine Java-Themen 14
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
S Klassen Abstrakte Klassen Allgemeine Java-Themen 5
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
Tommy Nightmare Klassen Globale Klassen erstellen Allgemeine Java-Themen 7
X Klassen aus jar in jar Laden Allgemeine Java-Themen 1
S Klassen Klassen "virtuell" erstellen Allgemeine Java-Themen 5
J Aus mehreren Klassen ein Datei ausführbare machen Allgemeine Java-Themen 6
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
M Klassen Eine Klasse in mehreren Klassen einbinden Allgemeine Java-Themen 11
Sin137 Struktur der Klassen & Package Allgemeine Java-Themen 2
G Klassen und interne Klassen Allgemeine Java-Themen 1
S Klassen übergeben Allgemeine Java-Themen 13
C Klassen und Konstruktor Allgemeine Java-Themen 2
S Classpath Wie kann ich Java-Library Klassen "verstecken"..? Allgemeine Java-Themen 4
A Java speech - 2 Klassen Allgemeine Java-Themen 1
V Wie kann ich die Fragen mit den anderen Klassen verbinden? Allgemeine Java-Themen 1
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
V Klassenname von allen Klassen mit einer bestimmten Eigenschaft bekommen Allgemeine Java-Themen 2
B Classpath Eclipse findet importierte Klassen nicht Allgemeine Java-Themen 1
C DBConnection als Methode in mehreren Klassen Allgemeine Java-Themen 4
C Arten von Klassen Allgemeine Java-Themen 3
7 Verbinden von Mehreren Klassen Allgemeine Java-Themen 29
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
O Java-Obfuscator, welcher einzelne Methoden, Klassen und Ordnerstrukturen ausnehmen kann. Allgemeine Java-Themen 1
A also definition von klassen und string methoden und algorithmik Allgemeine Java-Themen 13
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
M Interface Generische Klassen mit mehreren Typen überschreiben Allgemeine Java-Themen 0
L OOP Klassen-Design (static oder nicht?) Allgemeine Java-Themen 3
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
O Klassen Programm in Klassen unterteilt, werte werden nicht mehr übernommen Allgemeine Java-Themen 3
J C++ Projekt (QT) in Java mit Klassen (nicht imperativ) nutzen (BridJ? JavaCPP? SWIG? JNA? JNI?) Allgemeine Java-Themen 2
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
S .jar hat nicht alle Klassen ??? Allgemeine Java-Themen 10
S Polymorphie Polymorphismus bei Abstrakten Klassen Allgemeine Java-Themen 2
S Tool um mehrere Klassen in einer Klasse vereinen? Allgemeine Java-Themen 6
T Wie kann ich alle existierenden Java-Klassen anzeigen lassen? Allgemeine Java-Themen 10
Landei Welche Klassen fehlen im JDK? Allgemeine Java-Themen 18
S Kapselung Statische Helper Klassen Allgemeine Java-Themen 5
A Vererbung Klassen-Downcasting wirft ClassCastException Allgemeine Java-Themen 2
N Java Klassen mit ID Allgemeine Java-Themen 21
antonbracke Klassen Klassen gegenseitig laden Allgemeine Java-Themen 4
R SecurityManager für einzelne Klassen/Threads? Allgemeine Java-Themen 38
T Java Klassen aus externer .jar laden und ausführen Allgemeine Java-Themen 3
S JPA und Entity-Klassen: Wert ungültig Allgemeine Java-Themen 6
M OO / Klassen / Projektstruktur Allgemeine Java-Themen 5
O Klassen werden nicht importiert Allgemeine Java-Themen 3
E selber Klassen kompilieren/ prüfen Allgemeine Java-Themen 5
Z Abstrakte Klassen /Interface Allgemeine Java-Themen 5
A Klassen und JLabel's Allgemeine Java-Themen 12
J Java-Implementierung diverser Beziehungen zwischen Klassen bzw. Objekten Allgemeine Java-Themen 2
M Methoden/Klassen für andere Projekte Allgemeine Java-Themen 4
J Suche: Tool zum Auffinden gleichnamiger Klassen (Name und Package gleich) in unteschiedlichen JARs Allgemeine Java-Themen 5
E instanceof mit nicht öffentlichen Klassen Allgemeine Java-Themen 2
D Datentypen Typbestimmung unbekannter Wrapper-Klassen Allgemeine Java-Themen 5
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11
X Generic muss zwei Klassen/Interfaces erfüllen Allgemeine Java-Themen 5
N Vergleich eigener Klassen Allgemeine Java-Themen 5
M Klassen Array aus Klassen bestimmter Klassen ? Allgemeine Java-Themen 11
C OOP Klassen mit "Eigenschaften" Allgemeine Java-Themen 10
H Klassen kommunizieren lassen Allgemeine Java-Themen 3
A Problem bei Serialisierung von Bibliotheks-Klassen Allgemeine Java-Themen 6
R Implementierung eines Interface durch 2 verschiedene Klassen Allgemeine Java-Themen 6
T Classpath Klassen dynamisch erstellen Allgemeine Java-Themen 4
I Klassen Klassen-/Objektinteraktion Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben