| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Jython JFrame」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==Jython JFrame==
+
==[[Jython JFrame]]==
 
[[JFrame]] | [[Jython Swing]] | [[Swing]] | [[Jython]] | [[Python]] |  
 
[[JFrame]] | [[Jython Swing]] | [[Swing]] | [[Jython]] | [[Python]] |  
  
 
===方針===
 
===方針===
*半ば強引に、[JFrame] [Swingで作成したサンプル]を Jythonに書き換えてみる。
+
*半ば強引に、[[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 JFrameTest(object):
+
  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.CENTER)
+
         frame.contentPane.add(lbl, BorderLayout.CENTE[[R]])
 
   
 
   
 
         # サイズ調節
 
         # サイズ調節
38行目: 38行目:
 
   
 
   
 
         # 表示
 
         # 表示
         frame.visible = True
+
         frame.[[vi]]sible = True
 
   
 
   
         # イベントディスパッチスレッドか?
+
         # [[イベントディスパッチスレッド]]か?
         print 'EventDispatchThread ? %s' % SwingUtilities.isEventDispatchThread()
+
         print 'EventDispatchThread ? %s' % [[Swing]]Utilities.isEventDispatchThread()
 
   
 
   
  class Invoker(Runnable):
+
  class Invoker([[R]]unnable):
 
     def run(self):
 
     def run(self):
         jft = JFrameTest()
+
         jft = [[JFrame]]Test()
 
         jft.createUI()
 
         jft.createUI()
 
   
 
   
  SwingUtilities.invokeLater(Invoker())
+
  [[Swing]]Utilities.invokeLater(Invoker())

2020年2月16日 (日) 04:28時点における最新版

Jython JFrame

JFrame | Jython Swing | Swing | Jython | Python |

方針

内容

ソースコード

実行例

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