Eu estou querendo substituir a escrita no Scanner, para continuar a aplicação, por um clique no botão, no caso no clique 'sim' continua e 'não' aborta, mas não estou conseguindo implementar isso, nunca trabalhei muito com eventos ou GUI no JAVA, agradeço a ajuda desde já. Segue o código de captura do evento:
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class CapturaEventoBotao implements ActionListener {
private JButton botao;
public void janela(){
JFrame frame = new JFrame();
botao = new JButton();
botao.addActionListener(this);
frame.getContentPane().add(botao);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,100);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent evento) {
botao.setText("Botão foi clicado!");
botao.setFont(new Font("SansSerif", Font.BOLD, 20));
}
public static void main(String[] args) {
CapturaEventoBotao captura = new CapturaEventoBotao();
captura.janela();
}
}
A configuração do botão:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
@SuppressWarnings("serial")
public class ButtonFrame2 extends JFrame{
private JButton aceita;
private JButton nega;
public ButtonFrame2()
{
super("Deseja realizar outra votação?");
setLayout(new FlowLayout());
aceita = new JButton("Sim");
add(aceita);
nega = new JButton("Não");
add(nega);
ButtonHandler handler = new ButtonHandler();
nega.addActionListener(handler);
aceita.addActionListener(handler);
}
public class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
JOptionPane.showMessageDialog(ButtonFrame2.this, String.format("Você pressionou: %s", event.getActionCommand()));
}
}
}
e onde eu queria que ele fosse usado:
System.out.println(urna.listarSenador());
System.out.println("Digite o numero do seu Senador:");
String numSenador = sc.next();
eleitor.votoSenador(numSenador);
System.out.println(urna.listarPresidente());
System.out.println("Digite o numero do seu Presidente:");
eleitor.votoPresidente(sc.next());
urna.computarVotos(eleitor);
urna.mostraVotos();
System.out.println("Nova votacao? S/N"); //AQUI SERIA A PERGUNTA PARA CONTINUAR
ButtonFrame2 buttonFrame = new ButtonFrame2();
buttonFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buttonFrame.setSize(400, 80);
buttonFrame.setVisible(true);
//AQUI SERIA ONDE O BOTÃO 'SIM' ENTRARIA
if (!sc.next().toLowerCase().equals("s")) {
System.out.println("Votacao encerrada!");
urna.mostraVotos();
System.out.println(urna.eleitoPresidente());
System.out.println(urna.eleitoSenador());
break;
Novamente agradeço por me ajudar, Qualquer coisa pode perguntar! : )