==[[Jython JFrame]]==
[[JFrame]] | [[Jython Swing]] | [[Swing]] | [[Jython]] | [[Python]] |
===方針===
*半ば強引に、[[JFrame|Swingで作成したサンプル] [Swingで作成したサンプル]を Jythonに書き換えてみる。
===内容===
*[[イベントディスパッチスレッド]]
===ソースコード===
from java.lang import *
from java.awt import BorderLayout, Dimension
from javax.swing import SwingUtilities, [[JFrame]], JLabel
class JFrameTest[[JFrame]]Test(object):
def createUI(self):
# Windowの生成
frame = [[JFrame]]("FrameTest")
# Windowクローズ時にどうするか
frame.setDefaultCloseOperation([[JFrame]].EXIT_ON_CLOSE)
# ダミーコンポーネント
# フレームにコンポーネントを乗せる
frame.contentPane.add(lbl, BorderLayout.CENTERCENTE[[R]])
# サイズ調節
# 表示
frame.visible [[vi]]sible = True
# イベントディスパッチスレッドか?[[イベントディスパッチスレッド]]か? print 'EventDispatchThread ? %s' % SwingUtilities[[Swing]]Utilities.isEventDispatchThread()
class Invoker(Runnable[[R]]unnable):
def run(self):
jft = JFrameTest[[JFrame]]Test()
jft.createUI()
SwingUtilities[[Swing]]Utilities.invokeLater(Invoker())