!!!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())