Activar e desativar caixa de texto

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+
:cool:

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+
:cool:

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.