Java/Python 導入ガイド:Swing/Jython2.5 - JTree
Java プログラマーのための Python 導入ガイド〈初級/応用編〉《Jython2.5》
Swing/Jython - JTree
■ 概要
フォルダー/ファイルの階層構造を「簡単に」閲覧できるツールがあると便利です。
この課題では、Swing/GUI を使って階層構造を持つ情報を提示します。〈GoF〉Composite/Iterator/Visitor/Command パターンを導入すると、if/for 文によるコードの汚染、配列の境界問題が解消されるので、要求仕様の変更にも柔軟に対処でき、簡潔で見通しの良いコードを記述できるようになります。
《Note》JPython1.1.x/Jython2.1.x 用に作成したセミナー課題を、Jython2.5 で再構成しました。
事例:JTree
$ jython2.5b3 -i exWalk.py
/Users/sketch/home_Jython/jython2.5b3/Demo/jreload: jreload +-- _xample | +-- Version.class (506) +-- example.jar (993) +-- src | +-- example | | +-- jar-Version.java (171) | | +-- new-Version.java (175) | | +-- PrintVer.java (117)
⇒ 続きはこちら 》気軽に Swing《 で
model を規定する
メソッド getUserObject で得られるオブジェクト(各ノードが保持するモデル)は、メソッド toString() に呼応して、ツリーの各ノードに表示する文字列を規定します。どのような文字列を表示するかは、toString() 次第です。Jython では(メソッド toString() に代えて)メソッド __repr__ で規定した文字列が、各ノードに表示されます。
⇒ 続きはこちら 》getUserObject《 で
〈GoF〉Composite を導入する
フォルダー/ファイルの違いを意識せずに、統一して管理できるようにします。
$ jython2.5b3 -i exWalkComposite.py
そこで、DefaultMutableTreeNode が〈GoF〉Composite パターンの要件を満たしているかを検証します。
⇒ 続きはこちら 》〈GoF〉Composite《 で
〈GoF〉Iterator/Visitor を導入する
テキスト JTextArea による表示と、ツリー JTree を利用したものとを分割統治します。
$ jython2.5b3 -i exWalkVisitor.py
ツリーによる表示 | テキストによる表示 |
⇒ 続きはこちら 》〈GoF〉Iterator《 で
⇒ 続きはこちら 》〈GoF〉Visitor《 で
Tips
》作業中です《