Olá galera, tenho 3 telas JFrame na minha aplicação, e gostaria que abrisse a primeira e quando um JButton for selecionado abrisse a segunda tela, e a partir do JButton selecionado na primeira e segunda tela abrisse a terceira de acordo com essas informações de seleção do usuário, entretanto não estou conseguindo que a aplicação aguarde a resposta da segunda tela para abrir a terceira.
`
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import java.io.*;
import java.net.Socket;
public class Tela1 extends JFrame {
public JLabel ivas,texto, ifla, iflu, ibot;
public JRadioButton rfla, rflu, rvas, rbot;
private ButtonGroup grupo1, grupo2;
public boolean radio, radio2, radio3;
int f, v, fl;
public Tela3 tela3;
public Tela1() {
super(“Times de Futebol”);
setLayout(null);
setExtendedState( MAXIMIZED_BOTH );
texto = new JLabel(“Qual é o melhor?”);
texto.setBounds(650, 0, 100, 100 );
add(texto);
Icon fla = new ImageIcon("fla.png");
ifla = new JLabel(fla);
ifla.setBounds(300, 80, 300, 300 );
add(ifla);
Icon vas = new ImageIcon("vas.png");
ivas = new JLabel(vas);
ivas.setBounds(700, 80, 300, 300 );
add(ivas);
rfla = new JRadioButton("Flamengo", false);
rvas = new JRadioButton("Vasco", false);
rfla.setBounds(400, 370, 100, 100);
rvas.setBounds(800, 370, 100, 100 );
add(rfla);
add(rvas);
grupo1 = new ButtonGroup();
grupo1.add(rfla);
grupo1.add(rvas);
Icon imflu = new ImageIcon("flu.png");
iflu= new JLabel(imflu);
iflu.setBounds(300, 80, 300, 300 );
Icon bot = new ImageIcon("bot.png");
ibot = new JLabel(bot);
ibot.setBounds(700, 80, 300, 300 );
rflu = new JRadioButton("Fluminense", false);
rbot = new JRadioButton("Botafogo", false);
rflu.setBounds(400, 370, 100, 100);
rbot.setBounds(800, 370, 100, 100 );
grupo2 = new ButtonGroup();
grupo2.add(rflu);
grupo2.add(rbot);
rfla.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Tela2 tela2 = new Tela2();
tela2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela2.setVisible(true);
dispose();
tela2. add(iflu);
tela2.add(ibot);
tela2.add(rflu);
tela2.add(rbot);
rflu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
radio3 = rflu.isSelected();
if(radio3==true){fl = +1;
System.out.println("Fluminense ="+fl);
}
}
});
radio = rfla.isSelected();
radio3 = rflu.isSelected();
if(radio==true){f = +1;
System.out.println("Flamengo ="+f);}
if(radio==true) and (radio3==true); {
Tela3 tela3 = new Tela3();
tela3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela3.setVisible(true);
texto.setBounds(650, 0, 100, 100 );
iflu.setBounds(700, 80, 300, 300 );
rflu = new JRadioButton ("Fluminense", false);
rflu.setBounds(800, 370, 100, 100 );
ifla.setBounds(300, 80, 300, 300 );
tela3.add (ifla);
tela3.add (rfla);
tela3.add (rflu);
tela3.add(texto);
tela3.add (iflu);}
}
private void and(boolean b) {
// TODO Auto-generated method stub
}
});
rvas.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Tela2 tela = new Tela2();
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela.setVisible(true);
dispose();
radio2 = rvas.isSelected();
if(radio2==true){v = +1;
System.out.println("Vasco ="+v);
}
}
});
}
}
`