Domanda

Un JTextComponent consente di aggiungere un DocumentListener alla sua Document, che vi dirà quando il testo è stato aggiunto o rimosso, e l'offset e la lunghezza del cambiamento. Non sarà, tuttavia, vi dico ciò che il testo del cambiamento è stato.

Questo non è un gran problema per l'aggiunta di testo, come si può usare l'offset e la lunghezza di trovare il testo aggiunto. Tuttavia, non è possibile utilizzarlo per trovare il testo eliminato, in quanto il testo è già andato.

Chiunque ha funzionato in questo problema prima? Come si può ottenere la stringa che è stato eliminato da un documento?

È stato utile?

Soluzione

Installare un DocumentFilter nella AbstractDocument.

(BTW:. In altalena di solito è meglio andare direttamente al modello (in questo documento caso))

Altri suggerimenti

Ogni volta che si aggiunge testo, archiviare il documento in memoria. Ogni volta che il testo viene rimosso, confrontare il documento a quello che era lo scorso memorizzato per determinare ciò che è stato rimosso.

memorizzare la versione originale del testo in una proprietà dove si può ancora fare il "offset lunghezza trucco" per ottenere la stringa rimosso. dovrebbe fare bene

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