1,341 バイト追加
、 2020年2月15日 (土) 07:33
==Jython JFrame==
[JFrame][Jython Swing][Swing][Jython][Python]
===方針===
*半ば強引に、[JFrame] [Swingで作成したサンプル]を Jythonに書き換えてみる。
===内容===
*イベントディスパッチスレッド
===ソースコード===
=====実行例=====
[[File:0747_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())