🔒 Closed Restart button or restart key

Status
Not open for further replies.
Opo di nag cclose yung una.
Di ba yung frame mo is naka instantiate sa "ex"?
Kapag ginamitan mo ng ex.setvisible(false) then ex.dispose(). Mawawala yun.
TApos instantiate mo nalang ulit. ex = new Snake();
Hindi mo tiningnan yung code ng restart ko.
 
Di ba yung frame mo is naka instantiate sa "ex"?
Kapag ginamitan mo ng ex.setvisible(false) then ex.dispose(). Mawawala yun.
TApos instantiate mo nalang ulit. ex = new Snake();
Hindi mo tiningnan yung code ng restart ko.

nakita ko boss wait irecord ko po.
 
Tingnan mo nasa labas ang declaration ko ng JFrame

Code:
package snake;

import java.awt.EventQueue;
import javax.swing.JFrame;

public class Snake extends JFrame{
    
    static JFrame ex;
    
    public Snake(){
        initUI();
    }
    public void initUI(){
        add(new Board());
        
        setResizable(false);
        pack();
        
        setTitle("Snake");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
           ex = new Snake();
           ex.setVisible(true);
        });
    }
    public static void Restart()
    {
        ex.setVisible(false);
        ex.dispose();
        EventQueue.invokeLater(() -> {
           ex = new Snake();
           ex.setVisible(true);
        });
    }
}

Tapos ito yung GameOver. Lagyan mo nalang ng input ng user bago mag Restart.

Code:
private void gameOver(Graphics g){
        String msg = "Game Over !!!";
        Font small = new Font("Helvetica", Font.BOLD, 14);
        FontMetrics metr = getFontMetrics(small);
        
        g.setColor(Color.red);
        g.setFont(small);
        g.drawString(msg, (B_WIDTH - metr.stringWidth(msg)) / 2, B_HEIGHT / 2 );
        String message = "Space to Restart";
        
        g.setColor(Color.WHITE);
        g.setFont(small);
        g.drawString(message,100,170);
        
        Snake.Restart();
    }
 
Tingnan mo nasa labas ang declaration ko ng JFrame

Code:
package snake;

import java.awt.EventQueue;
import javax.swing.JFrame;

public class Snake extends JFrame{
   
    static JFrame ex;
   
    public Snake(){
        initUI();
    }
    public void initUI(){
        add(new Board());
       
        setResizable(false);
        pack();
       
        setTitle("Snake");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
   
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
           ex = new Snake();
           ex.setVisible(true);
        });
    }
    public static void Restart()
    {
        ex.setVisible(false);
        ex.dispose();
        EventQueue.invokeLater(() -> {
           ex = new Snake();
           ex.setVisible(true);
        });
    }
}

Tapos ito yung GameOver. Lagyan mo nalang ng input ng user bago mag Restart.

Code:
private void gameOver(Graphics g){
        String msg = "Game Over !!!";
        Font small = new Font("Helvetica", Font.BOLD, 14);
        FontMetrics metr = getFontMetrics(small);
       
        g.setColor(Color.red);
        g.setFont(small);
        g.drawString(msg, (B_WIDTH - metr.stringWidth(msg)) / 2, B_HEIGHT / 2 );
        String message = "Space to Restart";
       
        g.setColor(Color.WHITE);
        g.setFont(small);
        g.drawString(message,100,170);
       
        Snake.Restart();
    }

ay mali ako nag pagkalagay
 
Status
Not open for further replies.

About this Thread

  • 28
    Replies
  • 1K
    Views
  • 3
    Participants
Last reply from:
PHC-B L 4 C K

Online now

Members online
962
Guests online
730
Total visitors
1,692

Forum statistics

Threads
2,275,573
Posts
28,964,168
Members
1,231,868
Latest member
RYS128
Back
Top