Fix missing ImageIcon for PlayButton and repeated EndScreen Spawning #3
@ -40,14 +40,6 @@ public class Endscreen extends JDialog {
|
|||||||
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
contentPanel.setLayout(new BorderLayout(0, 0));
|
contentPanel.setLayout(new BorderLayout(0, 0));
|
||||||
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
||||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
|
|
||||||
Thread.getAllStackTraces().forEach((thread, stackTraceElement) -> thread.interrupt());
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
JButton btnNewButton = new JButton("Play again");
|
JButton btnNewButton = new JButton("Play again");
|
||||||
btnNewButton.setMnemonic(KeyEvent.VK_ENTER);
|
btnNewButton.setMnemonic(KeyEvent.VK_ENTER);
|
||||||
|
@ -25,6 +25,7 @@ public class GameWindow extends JFrame {
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private Snake s = new Snake(7);
|
private Snake s = new Snake(7);
|
||||||
private FoodFactory foodFactory = FoodFactory.getInstance();
|
private FoodFactory foodFactory = FoodFactory.getInstance();
|
||||||
|
private Timer timer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param title the title of the frame
|
* @param title the title of the frame
|
||||||
@ -84,7 +85,8 @@ public class GameWindow extends JFrame {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Timer timer = new Timer(50,
|
timer = new Timer(
|
||||||
|
50,
|
||||||
evt -> { s.nextFrame(); if (System.currentTimeMillis() >= foodFactory.getTimeOfNextFood()) newFood(); repaint(); });
|
evt -> { s.nextFrame(); if (System.currentTimeMillis() >= foodFactory.getTimeOfNextFood()) newFood(); repaint(); });
|
||||||
timer.start();
|
timer.start();
|
||||||
|
|
||||||
@ -107,5 +109,8 @@ public class GameWindow extends JFrame {
|
|||||||
*
|
*
|
||||||
* @since Snake 1.1
|
* @since Snake 1.1
|
||||||
*/
|
*/
|
||||||
public void close() { dispose(); }
|
public void close() {
|
||||||
|
timer.stop();
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,9 @@ import java.awt.EventQueue;
|
|||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
import dev.lh.Main;
|
import dev.lh.Main;
|
||||||
@ -59,10 +61,9 @@ public class StartScreen extends JFrame {
|
|||||||
|
|
||||||
JButton buPlay = new JButton("Start Game");
|
JButton buPlay = new JButton("Start Game");
|
||||||
buPlay.setBounds(158, 197, 190, 131);
|
buPlay.setBounds(158, 197, 190, 131);
|
||||||
buPlay.setIcon(new ImageIcon(StartScreen.class.getResource("/com/sun/javafx/webkit/prism/resources/mediaPlayDisabled.png")));
|
buPlay.setText("Play Again");
|
||||||
buPlay.setMnemonic(KeyEvent.VK_ENTER);
|
buPlay.setMnemonic(KeyEvent.VK_ENTER);
|
||||||
buPlay.setFont(new Font("Times New Roman", Font.PLAIN, 16));
|
buPlay.setFont(new Font("Times New Roman", Font.PLAIN, 16));
|
||||||
|
|
||||||
buPlay.addActionListener(a -> {
|
buPlay.addActionListener(a -> {
|
||||||
|
|
||||||
Main.startGame();
|
Main.startGame();
|
||||||
@ -70,6 +71,7 @@ public class StartScreen extends JFrame {
|
|||||||
dispose();
|
dispose();
|
||||||
System.gc();
|
System.gc();
|
||||||
});
|
});
|
||||||
|
contentPane.add(buPlay);
|
||||||
contentPane.setLayout(null);
|
contentPane.setLayout(null);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Loading…
Reference in New Issue
Block a user