Java.use(better,Python)《6.3》ドラッグ&ドロップ

《こちらに移動中です》

2008年4月23日 (水)
記事一覧
Java.use(better, Python) # Jython 導入ガイド

------------ 序 ------------

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(査読中)をダウンロードしてご覧ください。

【目次】関連記事
Python/Jython/Swing 入門〕Shall_we_Agile = Java.use(better, Python) # Swing
実際のアプリケーション開発を疑似体験できるように、問題解決に至るまでの紆余曲折を示しながら「繰り返し段階的に」技術を習得するための話題を提 供します。OOP〔Object-Oriented Programming〕を体得するには、五感を通してフィードバックが得られる論理的シミュレーションによって、現実世界を疑似体験するのが効果的で す。この連載で、Java の常識が壊れるかもしれませんが、OOP の可能性は広がります。

【注意】連載の主旨から「先に示したプログラムが後で覆される」事例が含まれます。次の展開(失敗から何を学ぶか/学ばないか)を予想しながら読み進むのも一興です。

------------ 本文 ------------

気軽に Swing〔6〕TransferHandler: DnD

Java.use(better,Swing=Jython) 〜 萬プログラマーのための Python 導入ガイド
本間りす、森こねこ〔著〕 小泉ひよ子とタマゴ倶楽部〔監修〕

ツールチップを再設定するには

【例題1c】テキストをドラッグ&ドロップして、ツールチップを再設定したい。

 コンストラクター TransferHandler() の実引数を、次のように、"text" から "toolTipText" に変更すると、ツールチップの文字列を再設定できます。

    transferHandler=TransferHandler("toolTipText"),

 1)テキスト領域に入力した文字列を選択して、マウスボタンを押したまま、2)ラベルまでドラッグ&ドロップすると、3)選択した文字列がツールチップに表示されます。

■ イベントリスナーを登録する

 マウスボタンを押したときのイベントに応答するリスナーを設定するには、次のように、

    public void addMouseListener(MouseListener l)

メソッド addMouseListener を利用します。引数 l には、インターフェース MouseListener を実現した、任意のリスナーオブジェクトを指定できます。このとき、リスナーには、次のメソッドを実現しておく必要があります。

    void mousePressed(MouseEvent e)

 メソッド mousePressed は、イベント MouseEvent が発生したときに呼び出されます。そして、発生したイベント e から、必要な情報を獲得できます。JavaBeans に準拠した Swing には、Jython の便利な機能を適用できるので、次のように、

    JLabel(mousePressed=mousePressed,

キーワード引数 mousePressed= に、イベントリスナーを指定するだけです。

 インターフェースの規定に従うことを明確にするには、mousePressed= を固定するだけです。先の連載〔1〕JList でも紹介したように、Java の国境を越えて Jython の世界に入るときには、addMouseListener/MouseListener など余分な荷物は捨てて、身軽な旅を堪能できます。

〈つづく〉

Last updated♪2009/07/28