アプリ版:「スタンプのみでお礼する」機能のリリースについて

JTextFieldにある入力された文章をユーザがドラッグしたときにそのドラッグした部分のテキストを取り出したいのですが、どのように実装すればいいのでしょうか?
例えば、
明日は雨が降るかもね。
という文章がテキストフィールドに入力されたときに、ユーザが「雨が」の部分をマウスでドラッグしたらその「雨が」を獲得したいのです。
Googleで調べたのですがよくわからず困っています。分かる方お願いします。

A 回答 (4件)

JTextField (正確に言うと JTextField のスーパークラス)の


getSelectedText() というメソッドで、
現在選択されているテキストを取得できます。
ユーザーがマウスで選択した瞬間にイベントとして処理を行いたいのであれば、
javax.swing.event.CaretListener を使うとよいでしょう。
これは、キャレット(テキストフィールドなどに表示されるカーソル)の
位置が動いたり、選択範囲が変わったりすると、イベントが通知されます。
    • good
    • 0
この回答へのお礼

無事にできました。
ありがとうございました。

お礼日時:2007/01/12 16:52

setDragEnabled(true)で標準的なテキストのドラッグ&ドロップが可能になります。

text/plainでの受け渡しになりますが、おそらくこれで大丈夫ではないかと。

少々古い(J2SE1.4)記事のですが他のコンポーネントの標準的なドラッグアンドドロップのサポートに関する記事がSunのサイトにありましたので添付しておきます。

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …

この回答への補足

このようなやり方があるのですか。
参考にさせていただきます。

補足日時:2007/01/12 16:52
    • good
    • 0

getSelectedTextというそのまんまの機能がありますが試してみましたか?

    • good
    • 0

試していませんが、


getSelectionStartメソッド
getSelectionEndメソッド
で選択位置を取得し、
getTextメソッド
で取得した入力内容の文字列からsubstringしてみてはいかがでしょうか?
間違ってたら申し訳ありません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!