Ajuda no netbeans

2 respostas
cardosodario

Amigos,

Com o netbeans criei varios menus usando jmenubar, jmenu e jmenuitem.

Com eles ativei varios eventos actionPerformed para chamar minhas janelas.

Agora criei dinamicamente varios botões dentro de um jtoolbar que seria os atalhos para estes menus. Eu preciso então que a cada botão criado dinamicamente seja linkado o evento actionPerformed do jmenuitem por exemplo.

Eu sei que se eu executar SairactionPerformed(); eu consigo abrir o evento do menu mas dinamicamente eu não sei como linkar no momento de criar o botão para chamar este SairactionPerformed, alguém pode me explicar?

Dario Basso Cardoso.

2 Respostas

Linkel

Cara, é só você criar o actionPerformed(evt) do seu JButton quando o estiver criando dinamicamente…
Tipo assim:

//No método de criação de cada JButton você adiociona... JButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { JButton1ActionPerformed(evt); } }); // Agora é só criar o método actionPerformed de cada JButton... private void JButton1ActionPerformed(java.awt.event.ActionEvent evt) { itemSairActionPerformed(evt); // ou simplesmente itemSair.doClick(); System.out.println("Pronto! Agora consegui atribuir o actionPerformed(evt) dinamicamente, rsrsrs!!!"); }
É isso aí!
Espero ter ajudado!
Um abraço!

cardosodario

Obrigado pela ajuda, com base neste exemplo a primeira parte eu realmente acho que da certo pois eu estou criando o botão dinamicamente em tempo de execução do programa mas na segunda parte eu acho que não funcionaria;

//No método de criação de cada JButton você adiociona…

JButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

JButton1ActionPerformed(evt);

}

});

No caso em tempo de execução como eu escreveria no código a função abaixo?

Eu acredito que na primeira parte eu teria que fazer o itemSairActionPerformed(evt) ou o itemSairdoClick()

Mas eu tenho a pior das duvidas pois no caso eu não sei o nome itemSair pode ser itemA itemB na verdade eu tenho eles num Vector então eu teria que tentar algo como Vector.get(0).doClick() será que funciona?

// Agora é só criar o método actionPerformed de cada JButton…

private void JButton1ActionPerformed(java.awt.event.ActionEvent evt) {

itemSairActionPerformed(evt);

// ou simplesmente

itemSair.doClick();

System.out.println(Pronto! Agora consegui atribuir o actionPerformed(evt) dinamicamente, rsrsrs!!!);

}

Obrigado.

Dario

Criado 25 de fevereiro de 2008
Ultima resposta 25 de fev. de 2008
Respostas 2
Participantes 2