Java/Python 導入ガイド:swing/Jython - list.sort

Java プログラマーのための Python 導入ガイド記事一覧

Java プログラマーのための Python 導入ガイド〈初級/基礎編〉《Jython2.5》
swing/Jython - list.sort

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

■ 概要

Python の組み込み型の機能を Swing/GUI を利用して「視覚的に」理解できるツールを作成します。

 組み込み型の機能を視覚的に確認できるツールがあると、より効果的な学習ができます。
 今回は、Swing/GUI を利用した学習用ツールを作成するとともに、
 組み込み型 list と、JList/DefaultListModel との相互理解を目指します。
■ 関連記事

事例:要素の整列

>>> x.sort()    # 要素の整列

リストの要素を整列します。

class Model(DefaultListModel):
    def sort(self):
        """
        >>> print list.sort.__doc__
        L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
        cmp(x, y) -> -1, 0, 1
        """
        self._list.sort()     # list.sort
        self._changed()

    def _changed(self):
        # public Object set(int index, Object element)
        for index, e in enumerate(self._list):
            self.set(index+1, e)     # DefaultListModel.set
        self._update()

リストの要素を整列します。

■ list.sort

リスト self._list の要素を整列 sort します。

■ DefaultListModel.set

(DefaultListModel)リスト self の位置 index+1 にある要素を、新たな要素 e に再設定 set します。

misc

    def _update(self):
        view = self.view.list
        if view.selectedIndex == 0:
            try:
                view.clearSelection()
            except:
                pass
        view.selectedIndex = 0

Tips

組み込み型 list に対する操作を、コンポーネント JList にも反映させて、視覚的に確認できるようにします。
》作業中です《

Last updated♪09/05/08