重複の可能性:
JTextArea の行
JTextArea では、選択、強調表示などの操作はすべて、テキストの先頭からのオフセットに依存しているようです。行指向のテキストを表示するアプリでは、行と列に基づいて (キャレットではなく、他の場所からの情報に基づいて) 選択、強調表示する必要があります。
行、列からオフセットを取得する機能が組み込まれているか、ヘルパー クラスに組み込まれていますか? 行開始オフセットなどで個別のデータを維持し、行、列->オフセットを計算できることはわかっていますが、確かにJTextArea(またはそのモデル)はテキストを表示するためにこれをすでに知っているので、すでに存在しているに違いないと確信していますこれを行う方法。
textarea.viewToModel(new Point(x,y)); を使用して、このようなものを使用する例を見ましたが、x と y は行、列とされていましたが、私が見る限り、x と y はピクセルです行、列ではなく座標...だから、どうすればいいのかわからない。
手がかり?ありがとう!
編集済み:したがって、これは他の質問と重複しているという5人のコメント投稿者の印象を受けて、質問は閉じられましたが、そうではありません. オフセットを行、列に変換する方法や、画面のピクセル座標をオフセットに変換する方法については質問しませんでした。これについては、他の記事で説明しています。
私が実際に尋ねたことに対する答えを探して他の誰かがここでつまずいた場合、私は今、それが次のようであることを発見しました.
JTextArea には期待していた機能がありますが、以前のブラウジングでは明らかに見落とされていました: getLineStartOffset(int line) は、テキストの特定の行 (行) のテキスト開始からのオフセットを提供します。これに char-posn-in-line を簡単に追加して、特定の文字のオフセットに到達できます。