question

Como fechar um JPanel em um programa Java?

Olá

Estou fazendo um jogo em Java e preciso de alguns conselhos sobre como fazer algo.

No momento, estou usando dois arquivos .java diferentes para fazer o jogo. Eu tenho um programa principal que estende a JFrame e chama o outro arquivo .java que estende o JPanel.

O jogo atualmente funciona, mas quero fazer um outro modo de jogo e acho que seria melhor usar o outro arquivo que fiz para ele.

Atualmente, o programa principal que eu uso para chamar o programa Jpanel é:

```
private JPanel tela;
tela = new programa ();
getContentPane () .add (tela, BorderLayout.CENTER);
```
Há muitas outras coisas também, mas é basicamente o que eu postei acima que chama o outro arquivo.

Basicamente, o que eu quero saber é como posso obter um encerramento se eu gostaria de lançar outro arquivo do tabuleiro. Não sei como fazê-lo, então não funciona.

Por exemplo, eu teria uma instrução como:
```
Se (algo é verdadeiro)
getContentPane () .add (gameBoard, BorderLayout.CENTER);
outra coisa
getContentPane () .add (gameBoard2, BorderLayout.CENTER);
```

Isso também seria útil para o menu principal do jogo. Não quero adicionar tudo no arquivo GameBoard.java, senão ficará lotado.

Muito obrigado!

EDIT:
Aqui está todo o código para o arquivo principal. Removi todas as coisas inúteis e desnecessárias:

```java
import java.awt.;
import javax.swing.;

public class ProgramMain extends JFrame {
private JPanel tela;

public ProgramMain() {
setResizable(false);
tela = new programa();
getContentPane().add(tela, BorderLayout.CENTER);
}

public static void main(String[] args) {
ProgramMain frame = new ProgramMain();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
```

Basicamente, agora é ler o arquivo do programa, mas e se eu tiver outro arquivo e quiser mudar e lê-lo em vez disso. Eu quero ser capaz de alternar entre os dois se possível. E talvez até mesmo um terceiro para o menu principal.
resposta Resposta

Como fechar um JPanel em Java?

Para conseguir fechar um JPanel em Java, você pode seguir os seguintes passos:

  1. Primeiro, você precisa criar um objeto JFrame no programa principal para chamar o JPanel. Você já fez isso corretamente com o código:
  2.             frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  3. Em seguida, dentro do código do programa principal, você pode adicionar um botão "Fechar" que, quando clicado, fecha o JPanel. Isso pode ser feito com o código:
  4.             JButton closeButton = new JButton("Fechar");
    closeButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    frame.dispose();
    }
    });
    frame.add(closeButton, BorderLayout.SOUTH);
  5. Por fim, você pode implementar a lógica para alternar entre diferentes JPanels, dependendo das condições. Para isso, você pode usar várias instâncias de JPanel e adicioná-las ao JFrame conforme necessário. Por exemplo:
  6.             if (condicao1) {
    frame.getContentPane().removeAll();
    frame.getContentPane().add(panel1, BorderLayout.CENTER);
    frame.revalidate();
    frame.repaint();
    } else if (condicao2) {
    frame.getContentPane().removeAll();
    frame.getContentPane().add(panel2, BorderLayout.CENTER);
    frame.revalidate();
    frame.repaint();
    }

ComentáriosComentários

Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved