Fala pessoal, tudo bem?
Estou tendo um problema para remover itens de uma JComboBox. O que pretendo fazer, numa visão global, é relacionar três comboBoxes, onde o que eu seleciono na primeira é excluída das outras duas ou vice e versa.
O problema surge com o método removeItem(). Vou colocar aqui partes do código que julgo serem suficientes para o entendimento.
Esse é o evento que é executado quando se muda o item da primeira comboBox (ele vai ser o mesmo para as três comboBoxes, apenas mudando os nomes):
[code]private void cmbSelecionarMatriz1ItemStateChanged(java.awt.event.ItemEvent evt) {
if ( cmbSelecionarMatriz1.hasFocus() ) {
cmbSelecionarMatriz2.removeAllItems();
cmbSelecionarMatriz3.removeAllItems();
for (int i = 0; i < itensAssociatividade.length; i++) {
cmbSelecionarMatriz2.addItem( makeObj( itensAssociatividade[i] ) );
cmbSelecionarMatriz3.addItem( makeObj( itensAssociatividade[i] ) );
}
if (cmbSelecionarMatriz1.getSelectedIndex() != 0) {
cmbSelecionarMatriz2.removeItem( cmbSelecionarMatriz1.getSelectedItem() );
cmbSelecionarMatriz3.removeItem( cmbSelecionarMatriz1.getSelectedItem() );
}
}
}[/code]
Esse é o método que cria um objeto a partir de uma string:
private Object makeObj(final String item) {
return new Object() {
public String toString() {
return item;
}
};
}
Simplesmente o item não é excluído…