ale galera
Tenho um JComboBox com o nome ACTIVAR e um campo de texto com o nome TEXTO.
Dentro da minha ComboBox tenho duas opções:
String opção[] = { “activar”, “desactivar” }
O que eu pretendia era o seguinte : quando eu selecionasse na ComboBox o item “activar” o Campo de texto TEXTO ficava editavel e quando eu pressionasse o item “desativar” ele tornava o campo de texto TEXTO não editavel .
sei que para um campo de texto estar editavel ou nao editavel basta-nos colocar o parametro .setEditable(TRUE) or (FALSE) mas nao consigo torna-lo atraves da ComboBox
Alguem poderia postar aqui so o codigo para que isso aconteça ?
iai blz?
cara, vc só precisa ver como implementa a ação no combo… ai ja era…
segue abaixo um exemplo… fuça nele ai…
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Combo extends JFrame implements ItemListener{
JComboBox box;
JTextField caixa;
public Combo(){
setSize(200,100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(new GridLayout(2,1));
caixa = new JTextField(20);
String opcao[] = { "activar", "desactivar" };
box = new JComboBox(opcao);
box.addItemListener(this);
getContentPane().add(box);
getContentPane().add(caixa);
show();
}
public void itemStateChanged(ItemEvent ie){
int posicao = box.getSelectedIndex();
if(posicao == 0)
caixa.setEditable(true);
if(posicao == 1)
caixa.setEditable(false);
}
public static void main(String[] args){
new Combo();
}
}
duvidas posta ai… t+

ale galera
vejam como escrevi o codigo e o erro que me da :
Caixa.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent ie){
int posicao = Caixa.getSelectedIndex();
if(posicao == 0)
Texto8.setEditable(true);
if(posicao == 1)
Texto8.setEditable(false);
}
}
);
Esta a dar me erro na linha : int posicao = Caixa.getSelectedIndex();
da me a seguinte mensagem de erro : java 335 : local variable Caixa is accessed from within inner class, needs to be declared final.
alguem me poe dar uma mao nisso ?
Obrigado
iai…
cara, esse pedaço de codigo ta certin…
o problema ta sendo na estrutura de todo seu codigo…onde vc instancio o Caixa…
no erro fala pra vc coloca o Caixa como “final”, tenta declara assim:
final JComboBox Caixa;
bom, nem sei explica o uso do “final”, alguem ai pode ajuda??
qualquer coisa posta o codigo todo pra gente ajuda.
T+

Acho melhor mostrar o código todo (favor usar BBCODE, o botão com nome Code).
Pela mensagem parece que a variável está declarada no lugar errado.