aqui esta o codigo do meu evento, mas qdo eu clico no botão na interface ele não aciona os métodos.
private class AcoesBotao implements ActionListner{
public void Action(ActionEvent evt){
JPanel painelA = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelA);
lNovoProjeto = new JLabel("Adicionar um novo projeto:");
painelA.add(lNovoProjeto);
JPanel painelZ = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelZ);
lNomeProjeto = new JLabel("Nome do projeto: ");
painelZ.add(lNomeProjeto);
tNomeProjeto = new JTextField(15);
painelZ.add(tNomeProjeto);
JPanel painelY = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelY);
lDataIProjeto = new JLabel("Data de inicio do projeto: ");
painelY.add(lDataIProjeto);
tDataIProjeto = new JTextField(15);
painelY.add(tDataIProjeto);
JPanel painelW = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelW);
lDataFProjeto = new JLabel("Data prevista para o fim do projeto: ");
painelW.add(lDataFProjeto);
tDataFProjeto = new JTextField(15);
painelW.add(tDataFProjeto);
bNovoProjeto.addActionListener((ActionListener) new AcoesBotao());
}
}
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).
private JPanel painel;
private JButton bNovoProjeto, bNovaTarefa;
private JLabel lNovoProjeto, lNomeProjeto, lDataIProjeto, lDataFProjeto;
private JTextField tNomeProjeto, tDataIProjeto, tDataFProjeto;
private JMenu menu;
private JMenuBar barra;
private JMenuItem novo;
public Janela(){
super ("Projetos");
this.setBounds(120, 100, 500, 450);
painel = new JPanel(new GridLayout(7,2));
this.getContentPane().add(painel);
barra = new JMenuBar();
menu = new JMenu("Arquivo");
novo = new JMenuItem("Salvar");
painel.add(barra);
menu.add(novo);
barra.add(menu);
JPanel painelB = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelB);
bNovoProjeto = new JButton("Adicionar novo projeto");
painelB.add(bNovoProjeto);
JPanel painelC = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelC);
bNovaTarefa = new JButton("Adicionar nova tarefa a um projeto");
painelC.add(bNovaTarefa);
}
private class AcoesBotao implements ActionListner{
public void ActionPerformed(ActionEvent evt){
JPanel painelA = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelA);
lNovoProjeto = new JLabel("Adicionar um novo projeto:");
painelA.add(lNovoProjeto);
JPanel painelZ = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelZ);
lNomeProjeto = new JLabel("Nome do projeto: ");
painelZ.add(lNomeProjeto);
tNomeProjeto = new JTextField(15);
painelZ.add(tNomeProjeto);
JPanel painelY = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelY);
lDataIProjeto = new JLabel("Data de inicio do projeto: ");
painelY.add(lDataIProjeto);
tDataIProjeto = new JTextField(15);
painelY.add(tDataIProjeto);
JPanel painelW = new JPanel(new FlowLayout(FlowLayout.LEFT));
painel.add(painelW);
lDataFProjeto = new JLabel("Data prevista para o fim do projeto: ");
painelW.add(lDataFProjeto);
tDataFProjeto = new JTextField(15);
painelW.add(tDataFProjeto);
bNovoProjeto.addActionListener((ActionListener) new AcoesBotao());
}
}
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.