Ich versuche, Pong zu machen, und ich bin fast fertig. Ich habe es eingerichtet, wenn ein Spieler 5 Punkte erzielt, öffnet sich ein weiterer JFrame. Auf diesem JFrame gibt es zwei Schaltflächen; eins, um wieder zu spielen, und eins, um eine Anzeigetafel zu öffnen (eine Aufzeichnung der letzten drei Spiele). Aus irgendeinem Grund kann ich den Knopf nicht öffnen, um die Anzeigetafel zu öffnen. Würde etwas Hilfe lieben, herauszufinden, was falsch ist.JFrame wird nicht über ActionListener geöffnet
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JFrame;
public class scoreBoard extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(0, 50, 200, 50);
g.drawLine(0, 100, 200, 100);
g.drawLine(0, 150, 200, 150);
g.drawLine(95, 0, 95, 230);
g.drawString("PLAYER 1", 15, 30);
g.drawString("PLAYER 2", 115, 30);
g.drawString(String.valueOf(gameOver.Score[0][0]), 15, 80);
g.drawString(String.valueOf(gameOver.Score[0][1]), 115, 80);
g.drawString(String.valueOf(gameOver.Score[1][0]), 15, 130);
g.drawString(String.valueOf(gameOver.Score[1][1]), 115, 130);
g.drawString(String.valueOf(gameOver.Score[2][0]), 15, 180);
g.drawString(String.valueOf(gameOver.Score[2][1]), 115, 180);
}
public static void main(String[] args) {
scoreBoard board = new scoreBoard();
JFrame boardFrame = new JFrame("Score Board");
boardFrame.setSize(200, 230);
boardFrame.setVisible(true);
boardFrame.setResizable(false);
boardFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
boardFrame.add(board);
}
}
Dies ist die Klasse, die ich für die Anzeigetafel habe.
scores = new JButton("Recent Scores");
scores.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
scoreBoard board = new scoreBoard();
}
});
Dies ist der ActionListener, den ich habe, um die Anzeigetafel zu öffnen.
Vielen Dank im Voraus.
Haben Sie einen Konstruktor für Scoreboard? Im Moment sehe ich nur eine Hauptmethode, die bei einem Standardkonstruktoraufruf nicht instanziiert wird. – Compass
Werfen Sie einen Blick auf die Hauptmethode Ihres scoreBoards, es gibt ein Beispiel dafür, was Ihre actionPerformed-Methode tun sollte – MadProgrammer
@MadProgrammer, ich glaube immer noch, dass ich in meinem ursprünglichen Kommentar zwei gültige Punkte angegeben habe. Aber da es zu Verwirrung geführt hat, werde ich den Kommentar entfernen und in Zukunft keine Kommentare abgeben. – camickr