Habiltar uma ComboBox atraves de outra ComboBox

Seguinte, tenho duas JComboBox na minha aplicação e queria que a Segunda só fique alteravel se a primeira estiver com a ultima opção selecionada… deu pra entender??(espero que sim)

e andei lendo sobre o assunto e cheguei a conclusão que devo usar eventos(minha opnião), só que não sei usar mto bem =\

se essa for mesmo a melhor solução por favor ajudem, se não for ajudem também

Oi,

realmente ficou um pouco dificil de entender…
você teria 2 combo, onde só irá habilitar o segundo combo se for selecionado algum conteudo no primeiro combo?!?!

Da para criar uma action para o combo.:

[code]io_cb.setAction
(
new AbstractAction()
{
public
void actionPerformed
(
ActionEvent ev
)
{
//
// Se o item selecionado for o primeiro…
//
if (
io_cb_cargo.getSelectedIndex()
== 1
)
{

		}
     	}
}

);[/code]

Vai ver já resolve seu problema ?!

Tchauzin!

opa, isso voce pode fazer usando evento, por exemplo::

       teuPrimeiroCombo.addItemListener(new ItemListener(){
            public void itemStateChanged(ItemEvent event) {
                //aqui voce coloca a pega qual o item selecionado do combo
                // se esse item selecionado for o ultimo entao voce abilita a outra combo (metodo setEnabled(true) se nao me engano)
               // se for outro item que nao o ultimo entao voce desabilita a outra combo (setEnabled(false))
            }        
        });

acredito que isso ai deva resolver teu problema… ve se voce entende o codigo acima, ele adiciona um ItemListener ao teu primeiro combo, dessa forma cada vez que um item for selecionado nela o seu evento ali é chamado (chama o metodo itemStateChanged(ItemEvent)) e nesse metodo voce faz a validacao que deseja para abilitar/ desablitar o otro combo e o que mais quiser…

[]´s

Muito obrigado pela boa vontade

ficou assim o método:

public static JComboBox getCadernoComboBox() { if (cadernoComboBox == null) { cadernoComboBox = new JComboBox(); cadernoComboBox.setBounds(new Rectangle(133, 109, 98, 28)); cadernoComboBox.setAction(new AbstractAction(){ public void actionPerformed(ActionEvent e){ if(jornalComboBox.getSelectedIndex() == 7){ cadernoComboBox.addItem("TST"); cadernoComboBox.addItem("TRT3"); cadernoComboBox.addItem("TRT4"); cadernoComboBox.addItem("TRT7"); cadernoComboBox.addItem("TRT8"); cadernoComboBox.addItem("TRT9"); cadernoComboBox.addItem("TRT10"); cadernoComboBox.addItem("TRT18"); cadernoComboBox.addItem("TRT20"); cadernoComboBox.addItem("TRT21"); cadernoComboBox.addItem("TRT24"); } } });

e não carrega ao selecionar a setima opção

Oi,

funcionou ?

Tchauzin!

[quote=didiosam]opa, isso voce pode fazer usando evento, por exemplo::

       teuPrimeiroCombo.addItemListener(new ItemListener(){
            public void itemStateChanged(ItemEvent event) {
                //aqui voce coloca a pega qual o item selecionado do combo
                // se esse item selecionado for o ultimo entao voce abilita a outra combo (metodo setEnabled(true) se nao me engano)
               // se for outro item que nao o ultimo entao voce desabilita a outra combo (setEnabled(false))
            }        
        });

acredito que isso ai deva resolver teu problema… ve se voce entende o codigo acima, ele adiciona um ItemListener ao teu primeiro combo, dessa forma cada vez que um item for selecionado nela o seu evento ali é chamado (chama o metodo itemStateChanged(ItemEvent)) e nesse metodo voce faz a validacao que deseja para abilitar/ desablitar o otro combo e o que mais quiser…

[]´s[/quote]

certo funfou cara, mto obrigado… tinha mais umas coisinhas que queria saber se não for pedir de mais, tipo:

  • se eu quiser fazer a segunda combo ter opções diferentes de acordo com a primeira
  • funfou mas qdo inicio a aplicação a segunda combo fica habilitada so qdo mudo pra segunda opção ela desabilita e dai por diante funfa do jeito que quero que fique msm

[quote=lina]Oi,

funcionou ?

Tchauzin![/quote]

não, ele parou até de mostrar a combo, mas muito obrigado. =)

é possivel fazer isso sim, esta querendo mesmo??

no começo da sua aplicaçao, depois que voce criar a segunda combo chama o setEnabled dela passando false ( a mesma coisa que voce faz quando o cara clica nos itens que nao sao o ultimo da tua primeira combo)… Isso ocorre porque por padrao ela vem habilitada e se voce quiser q inicie desabilitada voce tem que especificar, da mesma forma que faz enquanto a aplicaçao roda … entende?

[]´s

seria interessante pra aplicação, se não for te atrapalhar, poderia dar essa força ai

pode cre, dei mole, nem pensei nisso.

[]s

opa, soh vi hj aqui, entao eu fiz uma vez mas nao me lembro direito agora (tenho que procura nos codigos) … mas se nao me engano pra ficar trocando o conteudo de um comboBox eu pegava o Model dele, e no Model dele tem uns metodos (nao lembro certo o nome agora tb) que serviam para voce passar um novo conjunto de elementos (passava ou um array com os novos elementos ou ia adicionando um a um, algo assim) …

de uma olhada no ComboBox e no Model dele (ComboBoxModel eu acho), ai tah a chave pra tu faze o que quer… caso tenha dificuldade posta ae que ajudo a procura e a faze, mas agora no momento me lembro disso soh…

[]´s