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 にあります。
アプリケーションを起動すると、各チームの情報が表示されます。リスト項目からチームを選択すると、ボタンに旗が表示されます。このボタンを選択すると、新たなウィンドウにユニフォームが表示されます。これを実現したのが、次のコードです。
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」カテゴリの記事
- Shall_we_Agile = Java.use(better, Python) # Swing《6.5》モジュール:jarray(2008.04.25)
- Shall_we_Agile = Java.use(better, Python) # Swing《43》JList(3)選択したらどうなるの★(2007.05.30)
- Shall_we_Agile = Java.use(better, Python) # Swing《41》JList(1)もっと表示できるかな★(2007.05.28)
- Shall_we_Agile = Java.use(better, Python) # Swing《5.2》Swing:JLabel(2008.04.15)
- Shall_we_Agile = Java.use(better, Python) # Swing《1.2》Swing:JList(2008.03.11)
「JML/Java/Eclipse」カテゴリの記事
- Shall_we_Agile = Java.use(better, Python) # Swing《6.5》モジュール:jarray(2008.04.25)
- Java.use(better, Jython)《61》アジァイル開発:要求仕様の変更★(2008.03.03)
- Python.use(better, GUI=Tkinter)《33》事例:ヒストグラムと2値化(3)★★(2007.02.21)
- 連載: Java.use(better) Jython はじめました《11》JavaBeans(1)値の参照と変更(2007.09.10)
- Shall_we_Agile = Java.use(better, Python) # Swing《43》JList(3)選択したらどうなるの★(2007.05.30)
「Jython/Python」カテゴリの記事
- Shall_we_Agile = Java.use(better, Python) # Swing《6.5》モジュール:jarray(2008.04.25)
- 【準備中】連載: Java.use(better) Jython はじめました《1》文字列とリスト(1)★(2006.07.10)
- Java.use(better, Jython)《61》アジァイル開発:要求仕様の変更★(2008.03.03)
- Python.use(better, GUI=Tkinter)《33》事例:ヒストグラムと2値化(3)★★(2007.02.21)
- 連載: Java.use(better) Jython はじめました《11》JavaBeans(1)値の参照と変更(2007.09.10)



コメント