Em um trecho de código, busco um item selecionado em um JTable, crio um clone dele, para depois atribuir o clone à esta variável buscada. Como a seguir:
Item item = tbServicos.getSelectedItem();
Item clone = (Item) item.clone();
// Chama o editor do item
ItemEditor itemEditor = itemEditorFactory.create(item);
itemEditor.setItem(clone);
// Se tudo ok, atribui o clone ao item, consolidando a modificação.
// Se não, o clone é descartado.
if (itemEditor.editar())
item = clone;
if (item == clone)
System.out.println("são iguais!");
if (item == tbServicos.getSelectedItem())
System.out.println("são iguais 2");
Se a edição for confirmada, o texto “São iguais!” é impresso, porém, o item no JTable não é atualizado! O texto “São iguais 2” não é impresso.
O que acontece?