Galera,e que preciso que abra um novo jframe no meu combobox quando eu clicar e um dos valores dentro do combobox .
Ex.
tenho um combobox de tipo .
jComboBoxTipos.removeAllItems();
jComboBoxTipos.addItem("Produto") ;
jComboBoxTipos.addItem("Serviço");
}
Quando eu clicar em produto ou serviço devera abri uma nova janela.como eu poderia estar instanciando uma outra janela no combobox.
Agradeço a quem me ajudar.
Basta adicionar um evento de selectionChange no seu combobox e abrir uma janela nesse evento:
seuComboBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
// abra seu frame aqui
}
}
});
Vini muito obrigado, ajudo muito.
Mas estou com problema ele esta abrindo os dois jframe de uma vez .
E pq um vai ser para produto e um para serviço.
Você pode testar qual é o objeto selecionado, basta pegar a informação de dentro do ItemEvent.
Vini fiz deste jeito .
jComboBoxTipos.addItem("");
jComboBoxTipos.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
new janelaProdutovenda().setVisible(true);
}
}
});
jComboBoxTipos.addItem("Produto");
jComboBoxTipos.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
jComboBoxTipos.addItem("Serviço");
new janelaServicoVenda().setVisible(true);
}
}
});
jComboBoxTipos.addItem("Serviço");
}
Nome meu caso eu vou abri duas janelas ,é repeti o código que você me passou,não sei se essa e a melhor maneira,e tentei já mudar valor itenvent.select e não
estou conseguindo abrir as janelas certas.Deve ter algum erro ai ou eu deixei de fazer algo.
Obrigado.
[code]
jComboBoxTipos.addItem("");
jComboBoxTipos.addItem(“Produto”);
jComboBoxTipos.addItem(“Serviço”);
jComboBoxTipos.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() != ItemEvent.SELECTED) {
return;
}
if (event.getItem().equals("Produto")) {
new janelaProdutovenda().setVisible(true);
} else if (event.getItem().equals("Serviço")) {
new janelaServicoVenda().setVisible(true);
}
});[/code]
Isso ae agora estou conseguindo.
obrigado vini.