Attualmente sto cercando di risolvere un problema in cui ho bisogno di trovare la posizione in un pezzo di testo in un JEditorPane in base a dove era il mouse cliccato.Come convertire da una posizione del mouse a una posizione di carattere in un JEditorPane in Java Swing
Fondamentalmente, quando l'utente fa clic con il pulsante destro del mouse su una parola, devo scoprire qual è la parola. Per fare questo ho bisogno di scoprire in quale posizione nel testo l'utente ha cliccato. So che posso facilmente ottenere la posizione del mouse da MouseEvent che viene passato al metodo mousePressed, e mi è stato detto che è possibile convertirlo per ottenere l'indice dei caratteri nella parte di testo - tuttavia non riesco a capire come fare Questo.
Ho provato il metodo viewToModel() su JEditorPane, tuttavia questo mi sta restituendo la posizione sbagliata nel testo, quindi o sto usando male o non funziona in questo modo.
Qualche idea?
Grazie, ho impostato la tua risposta come accettata, come vedrai dalla mia risposta qui sotto è quasi esattamente quello che ho fatto. – Scottm
@ ChssPly76 Può essere usato in qualche modo per un JTable? – Igor
Il metodo viewToModel() è già fornito dalla classe più generale JTextComponent. Per un JTable ci sono altri metodi che dovrebbero prima restituire la cella, e quindi si dovrebbe chiamare un metodo appropriato a seconda del renderer/editor di celle. –