Problem mit Listener

Lucaaa

Bekanntes Mitglied
Hallo!.
Ich habe ein Spiel mit einem Menü und dem eigentlichen Spiel.
Mein Problem ist das, wenn ich das Menü durch das Game-Play erstetze (CardLayout) mein KeyListener und wenn ich es anderrum versuche der ActionListener nicht mehr funktioniert.
Bitte dringend um Hilfe!
Vielen Dank schonmal!

Die Hauptklasse:
Java:
package com.ludevstudio.brickbreaker;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.text.Position;
public class Main extends JFrame implements ActionListener{
 GamePlay playGround = new GamePlay(this);
 GameEnd gameEnd = new GameEnd(playGround, this);
 Menu menu = new Menu();
 
 JPanel masterContainer = new JPanel();
 
 CardLayout layout = new CardLayout();
 
 
 
 public static void main(String[] args) {
  new Main();
  
 }
 
 
 public Main() {
  setSize(800, 800);
  setDefaultCloseOperation(EXIT_ON_CLOSE);
  setResizable(false);
  setFocusable(true);
  setLocationRelativeTo(null);
  setLayout(null);
  
  initComponents();
  
  setVisible(true);
 
  }
 public void initComponents() {
  masterContainer.setBounds(0, 0, 800, 800);
  masterContainer.setVisible(true);
  masterContainer.setFocusable(true);
  masterContainer.setLayout(layout);
  this.add(masterContainer);
  
  gameEnd.setBounds(0, 0, 800, 800);
  gameEnd.setFocusable(true);
  masterContainer.add(gameEnd, "gameend");
  
  playGround.setBounds(0, 0, 800, 800);
  playGround.setFocusable(true);
  masterContainer.add(playGround, "playground");
  
  
  
 }
 
 
  @Override
  public void actionPerformed(ActionEvent e) {
   
   
  }
   public void showGameEnd() {
    layout.show(masterContainer, "gameend");
   }
   
   public void showGamePlay() {
    layout.show(masterContainer, "playground");
   }
}

Die GamePlay Klasse

Java:
package com.ludevstudio.brickbreaker;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class GamePlay extends JPanel implements KeyListener, ActionListener  {
  Timer timer;
  int delay = 1;
  
  Boolean play = false;
  
  // Komponenten
  Player player;
  Border border;
  Ball ball;
  Levels levels;
  MapGenerator mapGen;
  
  Main mainFrame;
  
 public GamePlay(Main mainFrame) {
  this.mainFrame = mainFrame;
  
  setFocusable(true);
  addKeyListener(this);
  
  timer = new Timer(delay, this);
 timer.start();
  
  
  player = new Player();
  border = new Border();
  ball = new Ball(player);
  levels = new Levels();
  mapGen = new MapGenerator(levels.level1, levels.getLevel1Colors());
  
 }
 public void paint (Graphics g) {
  
  // Hintergrund
  g.setColor(Color.BLACK);
  g.fillRect(0, 0, this.getWidth(), this.getHeight());
  
  // Player
  player.draw((Graphics2D)g);
  
  // Border
  border.draw((Graphics2D)g);
  
  // Ball
  ball.draw((Graphics2D)g);
  
  // Map
  mapGen.draw((Graphics2D)g);
 
 }
 
 
 @Override
 
 public void actionPerformed(ActionEvent arg0) {
  timer.start();
  
 if(play) { 
  ball.move();
  ball.rebound();
  
  if(ball.getBall().y>800) {
   mainFrame.showGameEnd();
   
  }
  
 }
  
  repaint();
  
 }
 
 
 
 
 @Override
 public void keyPressed(KeyEvent e) {
  if(e.getKeyCode()==KeyEvent.VK_LEFT) {
   play = true;
   player.moveLeft();
   repaint();
  } else if(e.getKeyCode()==KeyEvent.VK_RIGHT) {
   play = true;
   player.moveRight();
   repaint();
  }
 
 }
 
 
 
 
 
 
 
 @Override
 public void keyReleased(KeyEvent e) {
  
 }
 @Override
 public void keyTyped(KeyEvent e) {
  
 }
 
}

Die Menu (noch GameEnd ist aber am Ende das gleiche) Klasse
Java:
package com.ludevstudio.brickbreaker;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class GameEnd extends JPanel implements ActionListener{
 JButton btnPlay, btnExit;
 JLabel labelTitle, labelSubTitle, labelCopyRight;
 
 
 Main mainFrame;
 GamePlay gamePlay;
 
 public GameEnd(GamePlay gamePlay, Main mainFrame) {
  this.mainFrame = mainFrame;
  this.gamePlay = gamePlay;
  
  setLayout(null);
  setBackground(Color.BLACK);
  setVisible(true);
  initComponents();
 }
 
 public void initComponents() {
  Font titleFont = new Font ("segoe script", Font.BOLD, 100);
  Font SubTitlefont = new Font("segoe script", Font.BOLD, 20);
  Font font = new Font("segoe script", Font.BOLD, 50);
  
  
  
  labelTitle = new JLabel("BrickBreaker");
  labelTitle.setBounds(0, 60, 800, 130);
  labelTitle.setHorizontalAlignment(JLabel.CENTER);
  labelTitle.setFont(titleFont);
  labelTitle.setForeground(Color.RED);
  this.add(labelTitle);
  
  labelSubTitle = new JLabel("powered by LuDev Studio");
  labelSubTitle.setBounds(0, 150, 800, 50);
  labelSubTitle.setHorizontalAlignment(JLabel.CENTER);
  labelSubTitle.setFont(SubTitlefont);
  labelSubTitle.setForeground(Color.CYAN);
  this.add(labelSubTitle);
  
  
  btnPlay = new JButton("Play");
  btnPlay.setBounds(300, 350, 200, 80);
  btnPlay.setFont(font);
  btnPlay.addActionListener(this);
  this.add(btnPlay);
  
  btnExit = new JButton("Exit");
  btnExit.setBounds(300, 470, 200, 80);
  btnExit.setFont(font);
  btnExit.addActionListener(this);
  this.add(btnExit);
  
  labelCopyRight = new JLabel("@2017 LuDev Studio - All rights reserved.");
  labelCopyRight.setBounds(0, 730, 800, 30);
  labelCopyRight.setHorizontalAlignment(JLabel.CENTER);
  labelCopyRight.setFont(SubTitlefont);
  labelCopyRight.setForeground(Color.CYAN);
  this.add(labelCopyRight);
 }
 
 
 @Override
 public void actionPerformed(ActionEvent e) {
  if(e.getSource()==btnPlay) {
   mainFrame.showGamePlay();
  } else if(e.getSource()==btnExit) {
   System.exit(0);
  }
  
 }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
K On Click listener Problem Java Basics - Anfänger-Themen 4
L JTextField/Listener Input Problem Java Basics - Anfänger-Themen 2
L Listener Problem in Klasse Java Basics - Anfänger-Themen 8
X Problem bezüglich Key Listener Java Basics - Anfänger-Themen 3
G Listener Problem Java Basics - Anfänger-Themen 3
O problem mit document listener finde den fehler nicht Java Basics - Anfänger-Themen 2
S Problem mit Action Listener Java Basics - Anfänger-Themen 7
megachucky GUI-Problem in Verbindung mit while-Schleife und Listener Java Basics - Anfänger-Themen 4
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
C Regex-Problem Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
M Problem in der Modellierung Java Basics - Anfänger-Themen 20
W Wo ist das URL-Problem ? Java Basics - Anfänger-Themen 1
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben