public class Clt extends Frame implements ActionListener {
private Label lb1, lb2, lb3, lb4, lb5, lb6;
private TextField txt1, txt2, txt3, txt4, txt5, txt6;
private Button jb1, jb2;
private Panel pBot, pTxt;
private Celetista cel;
public Clt() {
super("Folha de Pagamento");//titulo da janela//
setSize(400, 400);//tamanho da janela//
lb1 = new Label("Nome");//criando os textos e instanciando//
txt1 = new TextField(20);
lb2 = new Label("Endereço");
txt2 = new TextField(20);
lb3 = new Label("Telefone");
txt3 = new TextField(20);
lb4 = new Label("Rg");
txt4 = new TextField(20);
lb5 = new Label("Cpf");
txt5 = new TextField(20);
lb6 = new Label("Valor por hora");
txt6 = new TextField(20);
jb1 = new Button("Salvar");//criando botoes e instanciando//
jb2 = new Button("Calcular Pagamento");
pTxt = new Panel(new GridLayout(12, 1));//criou o painel//
pTxt.setBackground(Color.lightGray);
pTxt.add(lb1);
pTxt.add(txt1);
pTxt.add(lb2);
pTxt.add(txt2);
pTxt.add(lb3);
pTxt.add(txt3);
pTxt.add(lb4);
pTxt.add(txt4);
pTxt.add(lb5);
pTxt.add(txt5);
pTxt.add(lb6);
pTxt.add(txt6);
add(pTxt, BorderLayout.CENTER);
pBot = new Panel(new GridLayout(1, 2));
pBot.setBackground(Color.lightGray);
pBot.add(jb1);
pBot.add(jb2);
add(pBot, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == jb2) {
int horasTrabalhadas = -1;
do {
String horasTrabalhadasStr = JOptionPane.showInputDialog(null,
"Informe o numero de horas trabalhadas");
if (horasTrabalhadasStr != null) {
horasTrabalhadas = Integer.parseInt(horasTrabalhadasStr);
}
} while (horasTrabalhadas < 0);
double valHora = 0;
valHora = Double.parseDouble(txt6.getText());
cel.valorHora = valHora;
cel.calcHoraExtra();
cel.calcIrrf();
cel.calcInss();
System.out.println(cel.calcHoraExtra());
System.out.println(cel.calcIrrf());
System.out.println(cel.calcIrrf());
[RESOLVIDO]action event
Estou desenvolvendo um exercicio para aula de java,no qual criei 2 janelas e chamei elas no método principal,agora na hora de dar uma ação para um dos botões,eu clico nele e nada acontece...segue o codigo,o que está errado?
6 Respostas
Cara, vc tem que adcionar a ActionEvent ao seu JButton, algo desse jeito :
jd2.addActionListener(this);
Cara, vc tem que adcionar a ActionEvent ao seu JButton, algo desse jeito :Eu recomendo criar uma classe interna para tratar as action's dos botões exmplo:jd2.addActionListener(this);
private class Action implements ActionListener{
public void actionPerformed(ActionEvent event) {
if(e.getSource == yourComponent){ }
}
}
e na sua classe que extends o JFrame faça assim
//Declaracao na classe
private Action acao = new Action();
//Construtor etc...
button.addActionListener(acao);
Essa tal classe interna é dentro da mesma classe que extends o JFrame? Ta complicado aqui ne no X fecha a janela tem que fechar naquele “running” do netbeans que fica no canto da tela 
Sim. no seu caso ficara algo assim
public class suaTela extends Frame{
//Referencias dos objetos
Action acao = new Action();
public suaTela (){
button = new Button();
button.addActionListener(acao);
}
private class Action implements ActionListener{
//ActionPerforma...
}
}
Brother segui os passos deu certo,obrigado!
O unico problema é que nao fecha clicando no “X”…
O problema agora vai ser com os codigos rsrs
Brother segui os passos deu certo,obrigado!O unico problema é que nao fecha clicando no “X”…
O problema agora vai ser com os codigos rsrs
De nada :S
Criado 3 de outubro de 2012
Ultima resposta 3 de out. de 2012
Respostas 6
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo