トップ 一覧 ping 検索 ヘルプ RSS ログイン

Jython JFrameの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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
 from java.awt import Dimension
 from javax.swing import JFrame
 from javax.swing import JLabel
 from javax.swing import SwingUtilities
 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.setPreferredSize(Dimension(200,100))
         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())