「Jython JFrame」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Jython JFrame== [JFrame][Jython Swing][Swing][Jython][Python] ===方針=== *半ば強引に、[JFrame] [Swingで作成したサンプル]を Jythonに書き換え…」) |
|||
(同じ利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | ==Jython JFrame== | + | ==[[Jython JFrame]]== |
− | [JFrame][Jython Swing][Swing][Jython][Python] | + | [[JFrame]] | [[Jython Swing]] | [[Swing]] | [[Jython]] | [[Python]] | |
===方針=== | ===方針=== | ||
− | *半ば強引に、[JFrame] | + | *半ば強引に、[[JFrame|Swingで作成したサンプル]]を Jythonに書き換えてみる。 |
===内容=== | ===内容=== | ||
− | *イベントディスパッチスレッド | + | *[[イベントディスパッチスレッド]] |
===ソースコード=== | ===ソースコード=== | ||
17行目: | 17行目: | ||
from java.lang import * | from java.lang import * | ||
from java.awt import BorderLayout, Dimension | from java.awt import BorderLayout, Dimension | ||
− | from javax.swing import SwingUtilities, JFrame, JLabel | + | from javax.swing import SwingUtilities, [[JFrame]], JLabel |
− | class | + | class [[JFrame]]Test(object): |
def createUI(self): | def createUI(self): | ||
# Windowの生成 | # Windowの生成 | ||
− | frame = JFrame("FrameTest") | + | frame = [[JFrame]]("FrameTest") |
# Windowクローズ時にどうするか | # Windowクローズ時にどうするか | ||
− | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) | + | frame.setDefaultCloseOperation([[JFrame]].EXIT_ON_CLOSE) |
# ダミーコンポーネント | # ダミーコンポーネント | ||
32行目: | 32行目: | ||
# フレームにコンポーネントを乗せる | # フレームにコンポーネントを乗せる | ||
− | frame.contentPane.add(lbl, BorderLayout. | + | frame.contentPane.add(lbl, BorderLayout.CENTE[[R]]) |
# サイズ調節 | # サイズ調節 | ||
38行目: | 38行目: | ||
# 表示 | # 表示 | ||
− | frame. | + | frame.[[vi]]sible = True |
− | # | + | # [[イベントディスパッチスレッド]]か? |
− | print 'EventDispatchThread ? %s' % | + | print 'EventDispatchThread ? %s' % [[Swing]]Utilities.isEventDispatchThread() |
− | class Invoker( | + | class Invoker([[R]]unnable): |
def run(self): | def run(self): | ||
− | jft = | + | jft = [[JFrame]]Test() |
jft.createUI() | jft.createUI() | ||
− | + | [[Swing]]Utilities.invokeLater(Invoker()) |
2020年2月16日 (日) 04:28時点における最新版
Jython JFrame
JFrame | Jython Swing | Swing | Jython | Python |
方針
- 半ば強引に、Swingで作成したサンプルを Jythonに書き換えてみる。
内容
ソースコード
実行例
ソースコード
# -*- 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())
© 2006 矢木浩人