- - PR -
テキストエリア(java.awt.TextArea)入力値の出力方法について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-20 17:21
テキストエリア(java.awt.TextArea)から値を取得する際には
"getText()"メソッドを使用しますが。 例えばテキストエリアに次のように入力した場合、"getText()" メソッドで値を取得すると"ABC123abc"と取得されます。 ******** ABC 123 (3行入力されています、各行の終わりには改行されています) abc ******** やりたい事は上記のような入力値を改行単位で一行ずつ取得したいのです。 改行位置さえわかれば、"select()"メソッドで行の先頭から改行前までを 選択し、"getSelectedText()"メソッドで選択個所だけを取得すれば良いかな とも考えたのですが、どうしたら改行位置を知る事ができるでしょうか? | ||||||||
|
投稿日時: 2003-11-20 18:14
javax.swing.JTextAreaは使えないんですよね。きっと。
JTextAreaだったら、getLineEndOffset()とgetLineStartOffset()使えば取得できるんですけどねぇ。 あまりよい方法ではかも知れないですが、TextListenerで改行の入力を監視し、入力のたびに、前回設定したオフセット(初期値は0)から現在の位置までの文字列を取得、次いでオフセット(現在のキャレット位置)の変更を行うことになるのかしら。 キャレット位置の監視はどうすればいいんだろう? | ||||||||
|
投稿日時: 2003-11-21 14:10
こんにちは、さくらばです。
たぶん勘違いされていると思いますが、TextArea#getText は改行文字も 含んでいますよ。とりあえず、サンプルをつけたので確かめてみてください。
| ||||||||
|
投稿日時: 2003-11-21 16:01
かずくんさん、さくらばさん、ありがとうございます。
>あまりよい方法ではかも知れないですが、TextListenerで改行の入力を監視し、入力のたび >に、前回設定したオフセット(初期値は0)から現在の位置までの文字列を取得、次いでオフセ >ット(現在のキャレット位置)の変更を行うことになるのかしら。 私も当初、この方法しか頭に浮かびませんでした・・・ さくらばさんから教えていただいた、サンプルをテストしてみました所、見事改行コード の位置をつかむ事ができました! 本当にありがとうございました。 | ||||||||
1
