!!!Jython JFrame
[JFrame][Jython Swing][Swing][Jython][Python]

!!方針
*半ば強引に、[[Swingで作成したサンプル|JFrame]]を Jythonに書き換えてみる。

!!内容
*イベントディスパッチスレッド

!!ソースコード
::実行例
{{ref_image js_jframe.jpg}}

::ソースコード
 # -*- coding: utf-8 -*-
 
 from java.lang import *
 from java.awt import BorderLayout, Dimension
 from javax.swing import SwingUtilities, JFrame, JLabel
 
 class JFrameTest(object):
     def createUI(self):
         # Windowの生成
         frame = JFrame("FrameTest")
 
         # Windowクローズ時にどうするか
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
 
         # ダミーコンポーネント
         lbl = JLabel('')
         lbl.preferredSize = (200,100)
 
         # フレームにコンポーネントを乗せる
         frame.contentPane.add(lbl, BorderLayout.CENTER)
 
         # サイズ調節
         frame.pack()
 
         # 表示
         frame.visible = True
 
         # イベントディスパッチスレッドか?
         print 'EventDispatchThread ? %s' % SwingUtilities.isEventDispatchThread()
 
 class Invoker(Runnable):
     def run(self):
         jft = JFrameTest()
         jft.createUI()
 
 SwingUtilities.invokeLater(Invoker())