Olá a todos,
tenho um JCombobox com uma lista de opções, e um item “Novo…”.
Este item chama um JInternalFrame que cadastra novos itens no JComboBox.
Gostaria de saber como eu faço para que, quando eu clique no botao “Cadastrar” desse JInternalFrame, o valor do JTextField (onde eu coloquei o item a ser adicionado no JComboBox) apareça no JComboBox.
Alguem sabe como me ajudar???
[]'s
Basta adicionar o item novo ao ListModel do seu JComboBox - se vc estiver usando o DefaultListModel, o JComboBox se atualiza sozinho.
Fica melhor ainda se vc fizer o ListModel selecionar automaticamente o ultimo item adicionado
Olá cv,
Não entendi muito bem, que ListModel eh esse? eu não o uso em meu código, vc poderia me passar um exemplo de uso.
Aqui vai meu código de exemplo
if (jComboBoxLinha.getSelectedItem() == "Nova...") {
AplCadastrarLinha cL = new AplCadastrarLinha();
cL.setSize(350, 150);
j.add(cL);
cL.show();
cL.moveToFront();
}
onde o objeto AplCadastrarLinha eh o jInternalFrame q irá cadastrar o novo item do jComboBox
Olá Vivi, :lol:
Eu fiz um pequeno teste aqui e criei uma JComboBox, adicionei um evento ActionListener e nesse evento coloquei o seguinte codigo:
if( !((String)jComboBox1.getSelectedItem()).equals("Novo...") ) return;
// Fecha o popup pra nao ficar aparecendo de fundo ( coisa feia! )
jComboBox1.setPopupVisible(false);
javax.swing.JOptionPane pane = new javax.swing.JOptionPane();
String novo_item = pane.showInputDialog(this, "Digite o novo item:");
// Adiciona o item na combo
jComboBox1.addItem( novo_item );
// Atualiza os itens com o modelo
jComboBox1.revalidate();
// Seleciona o primeiro item
jComboBox1.setSelectedIndex(0);
Acho que deu pra voce entender a ideia, né ?
Isso ai funcionou aqui acho q do jeito q voce queria… Só que chamei uma dialog pra entrar com o novo item…
Qualquer coisa estamos ai… 8)
Abraços,