Como o jbutton pode preencher um jtextfield? [resolvido]

5 respostas
Z

Olá pessoal…

Sou iniciante no java e estou com uma dúvida: Como fazer que um jbutton possa inserir um dado que já está declarado no sistema?

Então é assim: tenho dois jtextfields e preciso colocar os valores 00000 no JTCodigoInicial e 99999 no JTCodigoFinal quando o usuário clica no botão. Fiz assim:

if(((JButton)e.getSource()).equals(JBTodas)){
	JTCodigoInicial.setText("00000");		JTCodigoFinal.setText("99999");
}

Mas não está funcionando, alguma idéia?

5 Respostas

rodrigo_flausino

O problema deve estar no teu if. Coloca isso no teu botão:

botao.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent e) {
                  JTCodigoInicial.setText("00000");
                  JTCodigoFinal.setText("99999");	
         }
}

Espero ter ajudado.

EDIT: eu só não entendi o seu if. O que ele faz?

Z

rodrigo_flausino:

EDIT: eu só não entendi o seu if. O que ele faz?

Ele faz parte de uma outra parte do código que identifica qual botão está sendo pressionado. Mas nenhum deles está funcionando, tenho também um botão procurar que vai selecionar um diretório com o mesmo problema.

Mantu

O if dele costuma ser utilizado quando uma classe “ouve” mais de um componente. Quando isso acontece, eventualmente vc pode precisar definir “quem” esta classe está ouvindo no momento.
No caso do código dele, estava tentando interceptar eventos oriundos de um provável botão referenciado pela variável “JBTodas”.

O que me parece desnecessário é o cast para JButton sobre o e.getSource(), pois o método equals(…) é da classe Object e, por isso, é compartilhado por toda e qualquer classe.

Uma outra sugestão ao zerotanker: Evite nomear variáveis com palavra que começem com letras maiúsculas. Existe um consenso, um padrão, que sugere que identificadores (variáveis, nomes de métodos) começem com a primeira letra minúscula e, para cada outra palavra que forme o nome da variável, a primeira letra maiúscula (i.e.: botaoTodas, listaFuncionariosPreguicosos, etc…). As classes é que costumam ser nomeadas com a primeira letra maiúscula.

EDIT: Poste seu código, zerotanker, se não for muito grande

Z

Mantu:

O que me parece desnecessário é o cast para JButton sobre o e.getSource(), pois o método equals(…) é da classe Object e, por isso, é compartilhado por toda e qualquer classe.

Uma outra sugestão ao zerotanker: Evite nomear variáveis com palavra que começem com letras maiúsculas. Existe um consenso, um padrão, que sugere que identificadores (variáveis, nomes de métodos) começem com a primeira letra minúscula e, para cada outra palavra que forme o nome da variável, a primeira letra maiúscula (i.e.: botaoTodas, listaFuncionariosPreguicosos, etc…). As classes é que costumam ser nomeadas com a primeira letra maiúscula.

Valeu as dicas Mantu, vou adotar a prática da convenção, vou tentar fazer a alteração do cast…

Obs: Quanto ao código, ele é grandinho sim…

Z

Beleza pessoal?

:oops: Dei um vacilo… o listener do evento não estava registrado, fiz a alteração no código como está abaixo:

JBTodas.addActionListener(this);
JBProcurar.addActionListener(this);
JBProcessar.addActionListener(this);

Já está funcionando legalzin…
Muito obrigado a todos que ajudaram…

zerotanker

Criado 19 de abril de 2006
Ultima resposta 24 de abr. de 2006
Respostas 5
Participantes 3