aqui esta o codigo do meu evento, mas qdo eu clico no botão na interface ele não aciona os métodos.
privateclassAcoesBotaoimplementsActionListner{publicvoidAction(ActionEventevt){JPanelpainelA=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelA);lNovoProjeto=newJLabel("Adicionar um novo projeto:");painelA.add(lNovoProjeto);JPanelpainelZ=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelZ);lNomeProjeto=newJLabel("Nome do projeto: ");painelZ.add(lNomeProjeto);tNomeProjeto=newJTextField(15);painelZ.add(tNomeProjeto);JPanelpainelY=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelY);lDataIProjeto=newJLabel("Data de inicio do projeto: ");painelY.add(lDataIProjeto);tDataIProjeto=newJTextField(15);painelY.add(tDataIProjeto);JPanelpainelW=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelW);lDataFProjeto=newJLabel("Data prevista para o fim do projeto: ");painelW.add(lDataFProjeto);tDataFProjeto=newJTextField(15);painelW.add(tDataFProjeto);bNovoProjeto.addActionListener((ActionListener)newAcoesBotao());}}
Não sei se entenderma, mas eu qro qdo clicar no botão. Criar aquelas labels e os textFields!
kaique
Bom, se eu entendi corretamente seu problema, você criou essa classe para tratar seus eventos disparados por botões, correto?
Se sim, primeiramente você precisa informar ao(s) seu(s) componente(s) que será essa classe quem irá tratar os eventos disparados por eles.
Por fim, você precisa modificar o nome do método que você implementou. Que eu saiba, quando você implementa um tipo ActionListener (que está escrito errado no seu código), o método que você deve implementar para que seja executado algum código ao clicar em botões, por exemplo, é chamado de actionPerformed (ActionEvent event).
Espero ter ajudado.
[]'s.
guisantogui
renomeei o metodo, mas nada acontece, (como antes) vou postar o código completo da classe.
pois a classe dos eventos é interna a classe da interface grafica.
importjava.awt.event.ActionListener;importjavax.swing.*;importjava.awt.*;importjava.awt.Event.*;importjava.awt.event.ActionEvent;publicclassJanelaextendsJFrame{privateJPanelpainel;privateJButtonbNovoProjeto,bNovaTarefa;privateJLabellNovoProjeto,lNomeProjeto,lDataIProjeto,lDataFProjeto;privateJTextFieldtNomeProjeto,tDataIProjeto,tDataFProjeto;privateJMenumenu;privateJMenuBarbarra;privateJMenuItemnovo;publicJanela(){super("Projetos");this.setBounds(120,100,500,450);painel=newJPanel(newGridLayout(7,2));this.getContentPane().add(painel);barra=newJMenuBar();menu=newJMenu("Arquivo");novo=newJMenuItem("Salvar");painel.add(barra);menu.add(novo);barra.add(menu);JPanelpainelB=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelB);bNovoProjeto=newJButton("Adicionar novo projeto");painelB.add(bNovoProjeto);JPanelpainelC=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelC);bNovaTarefa=newJButton("Adicionar nova tarefa a um projeto");painelC.add(bNovaTarefa);}privateclassAcoesBotaoimplementsActionListner{publicvoidActionPerformed(ActionEventevt){JPanelpainelA=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelA);lNovoProjeto=newJLabel("Adicionar um novo projeto:");painelA.add(lNovoProjeto);JPanelpainelZ=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelZ);lNomeProjeto=newJLabel("Nome do projeto: ");painelZ.add(lNomeProjeto);tNomeProjeto=newJTextField(15);painelZ.add(tNomeProjeto);JPanelpainelY=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelY);lDataIProjeto=newJLabel("Data de inicio do projeto: ");painelY.add(lDataIProjeto);tDataIProjeto=newJTextField(15);painelY.add(tDataIProjeto);JPanelpainelW=newJPanel(newFlowLayout(FlowLayout.LEFT));painel.add(painelW);lDataFProjeto=newJLabel("Data prevista para o fim do projeto: ");painelW.add(lDataFProjeto);tDataFProjeto=newJTextField(15);painelW.add(tDataFProjeto);bNovoProjeto.addActionListener((ActionListener)newAcoesBotao());}}}
guisantogui
?
kaique
Como mencionei no outro post, você precisa informar para o componente que essa sua classe interna vai tratar os eventos. Pelo menos um botão, o que você quer clicar para executar o código postado, você precisa informar para ele qual o tratador de eventos dele.
Usando o seu código como exemplo, você precisa instanciar um objeto do tipo AcoesBotao no mesmo trecho de código onde você cria o bNovoProjeto e o bNovaTarefa. Daí você adiciona o objeto de AcoesBotao aos botões criados como tratador dos eventos disparados por eles. Assim, quando você clicar nos botões, enfim o seu código do AcoesBotao será executado.