🔒 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

Trending Topics

Online now

Members online
366
Guests online
959
Total visitors
1,325

Forum statistics

Threads
2,286,940
Posts
29,041,300
Members
1,217,274
Latest member
scrapersam
Back
Top