Domanda

Al momento ho un problema per cui la modifica del contenuto di una cella in una JTable altera il contenuto di un altro; due colonne sono reciprocamente esclusivi. Sono entrambi caselle di controllo.

Al momento, se mi altero una cella, non è fino a quando l'altro è ridisegnato che aggiorna. Pertanto, entrambe le celle della riga possono essere visualizzati come essere selezionato in qualsiasi momento. Questo può essere superato chiamando updateUI (), ma è lento e non è una grande idea in generale.

Qualcuno ha qualche consigli o suggerimenti?

È stato utile?

Soluzione

Sembra che si deve usare un TableModelListener per ascoltare le modifiche al TableModel. Quando una casella di controllo è cambiata si riceverà un evento di aggiornamento e si dovrebbe quindi aggiornare l'altra casella di controllo utilizzando model.setValueAt (...). Il modello è responsabile della notifica la vista di ridipingere la cella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top