- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!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())