Bem na verdade o que ta acontecendo é o seguinte me surgiu a dúvida do que aconteceria se eu quisese abrir outra janela na minha aplicação ai fui fazer o teste e fiquei com problema em uma parte do loop vou postar abaixo as duas clases que usei.
import java.util.Scanner;
import javax.swing.JOptionPane;
public class JanelaPrincipal {
static Scanner scanner = new Scanner(System.in);
public static void main (String [] args){
boolean quest = false;
String entrada = "";
while (quest == false) {
if (JanelaImpar.fechada == true){
entrada = JOptionPane.showInputDialog(null, "Informe um número par sair e impar para abrir outra janela", "Janela Inicial", -1);
}
if((Integer.parseInt(entrada)%2) == 0){
quest = true;
}else if ((Integer.parseInt(entrada)%2) != 0){
while (JanelaImpar.fechada == false){
scanner.nextLine();
}
new JanelaImpar();
}
}
}
}
Classe com a outra janela
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JanelaImpar extends JFrame implements ActionListener{
//atributos
static boolean fechada = true;
//contrutor da janela
public JanelaImpar(){
fechada = false;
//caracteriasticas da janela
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setTitle("Janela Ímpar");
setSize(300, 500);
JButton botao = new JButton("Fechar");
Container container = getContentPane();
botao.addActionListener(this);
container.add(botao);
}
public void actionPerformed(ActionEvent e) {
System.out.println("clicou");
fechada = true;
this.dispose();
}
}
Na linha 21 da primeira classe eu consegui pausar a execução, o problema eh fazer ela voltar a acontecer, por isso estou perguntando a respeito de como pausar loops e startalos novamente, tentei pausar o loop usando breal, mas não deu certo, por isso usei o scanner.nextLine, só que agora não consigo faze-lo continuar.