Aktualnie próbuję rozwiązać problem, w którym muszę znaleźć pozycję w tekście w JEditorPane na podstawie położenia myszy kliknięte.Jak przekonwertować z pozycji myszy na pozycję znaku w JEditorPane w Java Swing
Zasadniczo, gdy użytkownik kliknie prawym przyciskiem myszy na słowo, muszę się dowiedzieć, jakie jest to słowo. Aby to zrobić, muszę się dowiedzieć, w której pozycji w tekście kliknął użytkownik. Wiem, że mogę łatwo uzyskać pozycję myszy z MouseEvent, która jest przekazywana do metody mousePressed, i powiedziano mi, że możesz ją przekonwertować, aby uzyskać indeks znaków w tekście - jednak nie mogę wymyślić, jak to zrobić to.
Próbowałem metody viewToModel() na JEditorPane, ale to daje mi z powrotem niewłaściwą pozycję w tekście, więc albo używam go źle lub nie działa w ten sposób.
Wszelkie pomysły?
Dzięki, ustawiłem twoją odpowiedź na akceptowaną, jak zobaczysz z mojej odpowiedzi poniżej, to prawie dokładnie to, co zrobiłem. – Scottm
@ ChssPly76 Czy można to w jakiś sposób wykorzystać do ustawienia JTable? – Igor
Metoda viewToModel() jest już dostarczona przez bardziej ogólną klasę JTextComponent. W przypadku JTable istnieją inne metody, które najpierw zwrócą komórkę, a następnie trzeba będzie wywołać odpowiednią metodę w zależności od renderera komórek/edytora. –