Shall_we_Agile = Java.use(better, Python) # Swing《3.2》Swing:JButton
------------ 序 ------------
ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(査読中)をダウンロードしてご覧ください。
【目次】関連記事
〔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 導入ガイド
伊藤うさぎ、森こねこ〔著〕 小泉ひよ子とタマゴ倶楽部〔監修〕
Swing:JButton
【例題】JButton を選択したときに、その日時を表示したい。
JButton を含むウィンドウが現われます。ボタンを選択すると、そのときの日時が出力されます。これを実現したのが、次のコードです。
def ex_JButton_actionPerformed1():
from java.util import Date
def now(e): print Date()
view = JButton(
text="What time is it now?",
icon=ImageIcon("icons/clock-icon.gif"),
actionPerformed=now,
)
frame = JFrame(
defaultCloseOperation=JFrame.EXIT_ON_CLOSE,
title="JButton",
size=(150, 80),
)
frame.add(view)
frame.show()
ボタンを設定する
JButton は、それを選択したときの処理を規定するのに、便利な機能を提供します。ボタンにテキスト/画像を表示するなら、次のように、
public JButton(String text, Icon icon)
public void setText(String text)
public void setIcon(Icon icon)
コンストラクター JButton(String,Icon) が便利です。また、インスタンス生成後に、メソッド setText(String)/setIcon(Icon) を利用しても同じです。
先の連載「JavaBeansの美味しい煎り方」で紹介したように、キーワード引数を利用すると便利です。そこで、
view = JButton(
text="What time is it now?",
icon=ImageIcon("icons/clock-icon.gif"),
キーワード引数 text= の後にテキスト text を設定して、キーワード引数 icon= の後にアイコン画像 icon を設定します。これは、次のコードと同じ効果が得られます。
view = JButton()
view.setText("What time is it now?")
view.setIcon(ImageIcon("icons/clock-icon.gif"))
ボタンの動作を規定する
ボタンを選択したときの処理を特定するときには、補足情報(動作コマンド)を利用できます。それには、次のように、
public String getActionCommand()
メソッド getActionCommand() が便利です。この例題では、次のようにすると、
def actionPerformed(self, e):
KitPanel(e.source.actionCommand).show()
イベントが発生したボタン e.source から、後処理を規定する情報 actionCommand が得られます。動作コマンドを省略すると、規定値として、ボタンのテキストに指定した文字列と同じもの(チーム名)が得られます。これを利用すると、チームが確定するので、そのユニフォームをパネル KitPanel に表示します。
〈つづく〉
| 固定リンク
« Shall_we_Agile = Java.use(better, Python) # Swing《3.1》今回の課題:各チームのユニフォームを見てみよう | トップページ | Shall_we_Agile = Java.use(better, Python) # Swing《3.3》イベントハンドラーを登録する »
「.連載: 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)



コメント