Java/Python 導入ガイド:Swing/Jython2.5 - JTree

前の記事記事一覧次の記事

Java プログラマーのための Python 導入ガイド〈初級/応用編〉《Jython2.5》
Swing/Jython - JTree

《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03

■ 概要

フォルダー/ファイルの階層構造を「簡単に」閲覧できるツールがあると便利です。

この課題では、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

GoFIterator/Visitor を導入する

テキスト JTextArea による表示と、ツリー JTree を利用したものとを分割統治します。

$ jython2.5b3 -i exWalkVisitor.py


ツリーによる表示 テキストによる表示

⇒ 続きはこちら 〈GoF〉Iterator
⇒ 続きはこちら 〈GoF〉Visitor

Tips

》作業中です《

Last updated♪09/06/13