Olá.
tenho a seguinte parte do código botaoCriarTurma = new JButton("Criar Turma");
botaoCriarTurma.addActionListener(new Turma());
panel.add(mensagemCriarTurma);
panel.add(botaoCriarTurma);
e um construtor da seguinte forma [code] public Turma() {
this.materia = JOptionPane.showInputDialog(“Digite a materia”);
String nome = JOptionPane.showInputDialog(“Digite o nome do professor”);
String idade = JOptionPane
.showInputDialog(“Digite a idade do professor”);
int i = Integer.parseInt(idade);
professor = new Professor(nome, (byte) i);
} [/code]
Meu problema é, antes mesmo de o JFrame aparece quando inicio o main, o construtor já é inicializado, depois de colocar os dados que o JFrame aparece, então, como posso adicionar evento para quando o botão for clicado, uma nova turma ser criada?
Obrigado!
Cria uma classe que ou extende MouseAdpater ou implementa MouseListener ou MouseMotionListener, dependendo do evento do mouse que vc quer gerar utilize o metodo apropriado: mousClicked(), mousePressed(), e executa a açao desejada dentro do metodo…
posta o codigo para a gente ver melhor…
desculpa, eh o ActionListener, vc precisa executar o metodo actionPerformed…
Opa, vitor2908!
É como o Freak disse:
Você quer criar um ActionListener para o seu botão.
O ActionListener é uma interface; logo, para tal, você cria uma classe que implemente essa interface.
public class BotaoActionListener implements ActionListener {
}
Como você está “contratando” uma interface, você é obrigado a implementar os métodos contidos nela. No caso da interface ActionListener, há só o método actionPerformed.
[code]public class BotaoActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null, "Opa! Acionei o evento!");
}
}[/code]
Como você quer que um botão faça a chamada deste evento, associe uma instância dessa classe ao ActionListener do botão.
JButton button = new JButton("Chamando o listener...");
button.addActionListener(new BotaoActionListener());
Faça o teste. Será exibida a mensagem contida dentro do ActionListener que implementamos para o botão.
É só você criar sua classe, implementar a interface ActionListener, fazer todo o processamento seu e seja feliz!
Espero ter ajudado.
Abraços, fique com Deus!
Obrigado galera, Nicolas, matou várias duvidas minha em uma cajadada só, muito obrigado!