« Shall_we_Agile = Java.use(better, Python) # Swing《2.5》終わりに | トップページ | Shall_we_Agile = Java.use(better, Python) # Swing《3.2》Swing:JButton »

2008年3月24日 (月)

Shall_we_Agile = Java.use(better, Python) # Swing《3.1》今回の課題:各チームのユニフォームを見てみよう

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

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

【目次】関連記事
〔Python/Jython/Swing 入門〕Shall_we_Agile = Java.use(better, Python) # Swing

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

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

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

《査読中》

気軽に Swing〔3〕JButton: ホーム&アウェー
Java.use(better,Swing=Jython) 〜 萬プログラマーのための Python 導入ガイド

伊藤うさぎ、森こねこ〔著〕 小泉ひよ子とタマゴ倶楽部〔監修〕

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

はじめに

 この連載の基調となる(1)アプリケーション開発(2)Swing/Jython の解説(3)支援ツール作成が三位一体となって、読者のみなさんの学習を支援します。今回は JButton に着目します。

対象読者

こんな症状を抱えているなら (@.@)
・Java で構築されたレガシーシステムを再構成したい
【効能】既存のリソースを再利用しつつ、同時に開発効率を改善できるかも
【注意】連載の主旨から「先に示したプログラムが後で覆される」事例が含まれます。次の展開(失敗から何を学ぶか/学ばないか)を予想しながら読み進むのも一興です。

今回の課題:各チームのユニフォームを見てみよう

【要求仕様】各チームのユニフォーム(Home and Away)を表示したい。

 各チームのユニフォーム(画像)は、サンプルフォルダー Kits にあります。

Fig01

 アプリケーションを起動すると、各チームの情報が表示されます。リスト項目からチームを選択すると、ボタンに旗が表示されます。このボタンを選択すると、新たなウィンドウにユニフォームが表示されます。これを実現したのが、次のコードです。

class TeamPanel(JPanel):
    ... No change ...
    def __init__(self, listData):
        self.layout = BorderLayout()
        e = self.imageView = JButton(
            actionPerformed=self.actionPerformed,
            )
        self.add(e, BorderLayout.NORTH)
        ... No change ...
    def actionPerformed(self, e):
        KitPanel(e.source.actionCommand).show()

class KitPanel(JPanel):
    home = "Kits/kit-%s.gif"
    away = "Kits/kit-%s-res.gif"
    def __init__(self, team):
        e = self.team = team
        self.add(JLabel(
            icon=ImageIcon(self.home%e), text="Home",
            ))
        self.add(JLabel(
            icon=ImageIcon(self.away%e), text="Away",
            ))
    def show(self):
        frame = JFrame(
            title=self.team,
            )
        frame.add(self)
        frame.pack()
        frame.show()

def ex_TeamTextPanel():
    ... No change ...

 ではこれから、このコードに至るまでの物語を始めます。今回の要求仕様では、ユニフォームを表示するために、新たなパネル/ウィンドウが必要になります。

〈つづく〉

|

« Shall_we_Agile = Java.use(better, Python) # Swing《2.5》終わりに | トップページ | Shall_we_Agile = Java.use(better, Python) # Swing《3.2》Swing:JButton »

.連載: Shall_we_Agile = Java.use(better, Python) # Swing」カテゴリの記事

JML/Java/Eclipse」カテゴリの記事

Jython/Python」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/79839/10813272

この記事へのトラックバック一覧です: Shall_we_Agile = Java.use(better, Python) # Swing《3.1》今回の課題:各チームのユニフォームを見てみよう:

« Shall_we_Agile = Java.use(better, Python) # Swing《2.5》終わりに | トップページ | Shall_we_Agile = Java.use(better, Python) # Swing《3.2》Swing:JButton »