Dois em um

2 respostas
D

Essa é simples mas não achei em lugar algum.
Como eu posso fazer duas ações para um mesmo jButton ?
Tipo assim:
Quando clicar no bt1 ele muda o tamanho de um scrollpane, se clicar no mesmo bt1 ele muda novamente o tamanho do scroll…

Valeu

2 Respostas

Luiz_Rocha

No seu lugar eu usaria uma variável booleana para fazer o computador saber se o botão já foi apertao ou não (isto é: se vc quiser permutar de 2 em 2 os efeitos do mesmo botão). Nõ vou exemplificar com um JScrollPane, mas de uma maneira mais simples.
Exemplo:

JButton botao=new JButton(“Aumentar Janela”);
boolean apertadoAntes=false;

public void ActionPerformed(ActionEvent e)

{

if(e.getSource==botao)

{

if(botaoApertado==false){

botaoApertado=true;

setSize(200,200);

botao.setLabel(Diminuir Janela);

}

else{

botaoApertado=false;

setSize(100,100);

botao.setLabel(Aumentar Janela);

}

}

}

Se você quiser pôr vários efeitos num mesmo botão pode usar uma variável inteira e ir incrementando cada vez que o botão for apertado; e, no final, mudar o valor da variável de volta para o valor inicial (zero, talvez) e realizar o primeiro efeito.
Exemplo:

JButton botao=new JButton(“Aumentar Janela”);
int apertado=0;

public void ActionPerformed(ActionEvent e)

{

if(e.getSource==botao)

{

switch(apertado){

case 0: setSize(150,150); apertado++; break;

case 1: setSize(200,200); apertado++; break;

case 2: setSize(250,250); apertado++;

botao.setLabel(“Tamanho Inicial”); break;

default: setSize(100,100); apertado=0;

botao.setLabel(“Aumentar Janela”); break;

}

}

}

Eu não testei nada, na verdade, inventei agora.
Mas ver se isso funciona fica a teu encargo, não é?

Boa sorte.

:wink:

D

É isso mesmo…

Valeu

Criado 24 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 2
Participantes 2