Java/Python 導入ガイド:swing/Jython - DefaultListModel
Java プログラマーのための Python 導入ガイド《記事一覧》
Java プログラマーのための Python 導入ガイド〈初級/基礎編〉《Jython2.5》
swing/Jython - DefaultListModel
《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03
■ 概要
組み込み型 list の機能を Swing/GUI を利用して「視覚的に」確認できるツールを作成します。
組み込み型の機能を視覚的に確認できるツールがあると、より効果的な学習ができます。 今回は、Swing/GUI を利用した学習用ツールを作成するとともに、 組み込み型 list と、JList/DefaultListModel との相互理解を目指します。
■ 関連記事
- Creating a GUI with JFC/Swing, How to Use Lists
組み込み型 list
組み込み型 list には、次のような特性が規定されています。
>>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__' , '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__' , '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__radd__' , '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__setitem__', '__setslice__' , '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
これらのメソッドが提供する機能を「視覚的に」確認できるツールがあると便利です。
事例:ツールを起動する
組み込み型 list の動作を確認できるツールを起動します。
$ jython2.5b3 -i exJList_list.pyモジュールを起動すると、ウィンドウが現れてます。プロンプトに続いてコードを入力すると、組み込み型 list の状態を、このウィンドウで確認できます。>>> x = Xmodel >>> type(x)変数 x を介して、モデル Model/DefaultListModel を参照します。これは、組み込み型 list に準拠しているので、同じメソッドを適用できます。すると、list の機能を Swing/GUI を利用して「視覚的に」確認できます。■ リストの要素
>>> x._list ['A', 'B', 'C']
リスト項目 self を選択すると、対象となる list の要素を参照できます。リストの各項目が、list 型の各要素に対応します。モジュールを起動した直後は、このような初期値(3つの要素を含むリスト)が設定されています。■ 要素の追加
>>> x.append("D") # 要素の追加リストの末尾に要素を追加します。メソッド append を適用した結果を、このウィンドウで確認できます。 ⇒ 詳細はこちら 》list.append《 で■ 要素の削除
>>> x.pop() # 要素の削除 'D'リストの末尾から要素を削除します。メソッド pop を適用した結果を、このウィンドウで確認できます。 ⇒ 詳細はこちら 》list.pop《 で■ 部分リストの生成
>>> x[:2] # 部分リストの生成 [self, A, B]部分リストを生成するとともに、新たなウィンドウが現れます。演算子 [] を適用した結果を、このウィンドウで確認できます。 ⇒ 詳細はこちら 》list.__getslice__《 で■ ツールの起動
>>> Model.open("ABC") # ツールの起動 [self, A, B, C]指定した引数を要素に含む、リストを生成するとともに、新たなウィンドウが現れます。メソッド open を利用して、任意の要素を含むリストの状態を、このウィンドウで確認できます。Tips
ここで作成したツールは、組み込み型 list の状態変化を「視覚的に」確認するのに便利です。 》作業中です《Last updated♪09/05/10