Archive for the ‘Swing’ Category

  1. Hello, Swing(Jasmin) World!

    Posted on 1月 1st, 2013 by cx20

    Swing(Java)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Jasmin による Swing の使用例となっている。

    ソースコード

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Sun Dec 02 01:16:09 JST 2012
     
    .bytecode 51.0
    .source Hello.java
    .class public Hello
    .super javax/swing/JFrame
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 2
        .var 0 is arg0 [Ljava/lang/String; from Label0 to Label1
     
        Label0:
    .line 7
           0: new Hello
           3: dup
           4: ldc "Hello, World"
           6: invokespecial Hello/<init>(Ljava/lang/String;)V
           9: astore_1
     
        .line 8
          10: aload_1
          11: iconst_1
          12: invokevirtual Hello/setVisible(Z)V
     
        Label1:
    .line 9
          15: return
     
    .end method
     
     
    .method  <init>(Ljava/lang/String;)V
        .limit stack 3
        .limit locals 3
        .var 0 is this LHello; from Label0 to Label1
        .var 1 is arg0 Ljava/lang/String; from Label0 to Label1
     
        Label0:
    .line 12
           0: aload_0
           1: aload_1
           2: invokespecial javax/swing/JFrame/<init>(Ljava/lang/String;)V
     
        .line 13
           5: aload_0
           6: iconst_3
           7: invokevirtual Hello/setDefaultCloseOperation(I)V
     
        .line 14
          10: aload_0
          11: aconst_null
          12: invokevirtual Hello/setLocationRelativeTo(Ljava/awt/Component;)V
     
        .line 15
          15: aload_0
          16: sipush 640
          19: sipush 480
          22: invokevirtual Hello/setSize(II)V
     
        .line 17
          25: new javax/swing/JLabel
          28: dup
          29: ldc "Hello, Swing World!"
          31: invokespecial javax/swing/JLabel/<init>(Ljava/lang/String;)V
          34: astore_2
     
        .line 18
          35: aload_2
          36: iconst_1
          37: invokevirtual javax/swing/JLabel/setVerticalAlignment(I)V
     
        .line 19
          40: aload_0
          41: aload_2
          42: invokevirtual Hello/add(Ljava/awt/Component;)Ljava/awt/Component;
          45: pop
     
        Label1:
    .line 20
          46: return
     
    .end method

    コンパイル&実行方法

    C:¥> java -jar jasmin.jar Hello.j
    C:¥> javaw Hello

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  2. Hello, Swing(Fantom) World!

    Posted on 12月 26th, 2012 by cx20

    Swing(Fantom)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Fantom による Swing の使用例となっている。

    ソースコード

    using [java] javax.swing
    using [java] java.awt.event
    using concurrent
     
    class Hello
    {
        Void main()
        {
            label := JLabel("Hello, Swing World!")
            {
                setVerticalAlignment(JLabel.TOP)
            }
     
            frame := JFrame("Hello, World")
            {
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
                getContentPane.add(label)
                setSize(640, 480)
                add(label)
                setVisible(true)
            }
     
            Actor.sleep(Duration.maxVal)
        }
    }

    実行方法

    C:¥> fan Hello.fan

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  3. Hello, Swing(Rhino) World!

    Posted on 12月 20th, 2012 by cx20

    Swing(Rhino)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Rhino による Swing の使用例となっている。

    ソースコード

    importPackage(javax.swing);
     
    var frame = new JFrame();
    frame.setTitle("Hello, World");
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    frame.setSize(640,480);
     
    var label = new JLabel("Hello, AWT World!");
    label.setVerticalAlignment(JLabel.TOP);
    frame.add(label);
    frame.setVisible(true);
     
    while(1) {java.lang.Thread.sleep(1000);}

    実行方法

    C:¥> jrunscript Hello.js

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  4. Hello, Swing(Tcl/Java) World!

    Posted on 12月 14th, 2012 by cx20

    Swing(Tcl/Java)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Tcl/Java による Swing の使用例となっている。

    ソースコード

    package require java
     
    java::import javax.swing.JFrame
    java::import javax.swing.JLabel
     
    set frame [java::new JFrame] 
    $frame setDefaultCloseOperation [java::field JFrame EXIT_ON_CLOSE]
    $frame setTitle "Hello, World"
    $frame setSize 640 480
    set label [java::new JLabel "Hello, Swing World!"] 
    $label setVerticalAlignment [java::field JLabel TOP]
    $frame add $label
    $frame setVisible true
     
    vwait done

    実行方法

    C:¥> jaclsh Hello.tcl

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  5. Hello, Swing(BeanShell) World!

    Posted on 12月 8th, 2012 by cx20

    Swing(BeanShell)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は BeanShell による Swing の使用例となっている。

    ソースコード

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    class Hello extends JFrame {
     
        Hello( String title ) {
            super( title );
            setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            setLocationRelativeTo( null );
            setSize( 640, 480 );
     
            label = new JLabel( "Hello, Swing World!" );
            label.setVerticalAlignment(JLabel.TOP);
            add( label );
        }
    }
     
    frame = new Hello( "Hello, World" );
    frame.setVisible( true );

    実行方法

    C:¥> SET CLASSPATH=bsh-2.0b4.jar;%CLASSPATH%
    C:¥> java bsh.Interpreter hello.bsh

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  6. Hello, Swing(Clojure) World!

    Posted on 12月 2nd, 2012 by cx20

    Swing(Clojure)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Clojure による Swing の使用例となっている。

    ソースコード

    (import (javax.swing JFrame)
            (javax.swing JLabel))
     
    (def frame
      (JFrame.))
     
    (def label
      (JLabel. "Hello, Swing World!"))
     
    (doto label
      (.setVerticalAlignment JLabel/TOP))
     
    (doto frame
      (.setDefaultCloseOperation
        javax.swing.WindowConstants/EXIT_ON_CLOSE)
      (.add label)
      (.setSize 640 480)
      (.setTitle "Hello, World")
      (.setResizable false)
      (.setVisible true))

    実行方法

    C:¥> clj Hello.clj

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  7. Hello, Swing(Jython) World!

    Posted on 11月 26th, 2012 by cx20

    Swing(Jython)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Jython による Swing の使用例となっている。

    ソースコード

    from java.lang import System
    from javax.swing import JFrame
    from javax.swing import JLabel
     
    class HelloFrame(JFrame):
        def __init__(self):
            self.setTitle( "Hello, World" )
            self.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE )
            self.setSize( 640, 480 )
     
            label = JLabel( "Hello, Swing World!" )
            label.setVerticalAlignment( JLabel.TOP )
            self.add( label )
     
    if __name__ == '__main__':
        frame = HelloFrame()
        frame.setVisible(True)

    実行方法

    C:¥> jython Hello.py

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  8. Hello, Swing(JRuby) World!

    Posted on 11月 20th, 2012 by cx20

    Swing(JRuby)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は JRuby による Swing の使用例となっている。

    ソースコード

    require 'java'
     
    import 'javax.swing.JFrame'
    import 'javax.swing.JLabel'
     
    class Hello < JFrame
      def initialize(title)
        super( title )
        self.setDefaultCloseOperation( JFrame::EXIT_ON_CLOSE )
        self.setSize( 640, 480 )
     
        @label = JLabel.new( "Hello, Swing World!" )
        @label.setVerticalAlignment(JLabel::TOP)
        self.add( @label )
      end
    end
     
    @frame = Hello.new( "Hello, World" )
    @frame.setVisible( true )

    実行方法

    C:¥> jrubyw Hello.rb

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  9. Hello, Swing(Scala) World!

    Posted on 11月 14th, 2012 by cx20

    Swing(Scala)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Scala による Swing の使用例となっている。

    ソースコード

    import java.awt._
    import java.awt.event._
    import javax.swing._
     
    object Hello {
        def main( args: Array[String] ) {
            var frame = new HelloFrame( "Hello, World" )
            frame.setVisible( true )
        }
    }
     
    class HelloFrame( title: String ) extends JFrame {
        setTitle( title )
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE )
        setLocationRelativeTo( null )
        setSize( 640, 480 )
     
        var label = new JLabel( "Hello, Swing World!" )
        label.setVerticalAlignment(SwingConstants.TOP)
        add( label )
    }

    コンパイル&実行方法

    C:¥> scalac Hello.scala
    C:¥> scala Hello

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  10. Hello, Swing(Groovy) World!

    Posted on 11月 8th, 2012 by cx20

    Swing(Groovy)

    Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
    以下は Groovy による Swing の使用例となっている。

    ソースコード

    import java.awt.*
    import java.awt.event.*
    import javax.swing.*
     
    class Hello extends JFrame {
        static void main( args ) {
            def frame = new Hello( "Hello, World" )
            frame.setVisible( true )
        }
     
        Hello( String title ) {
            super( title )
            setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE )
            setLocationRelativeTo( null )
            setSize( 640, 480 )
     
            def label = new JLabel( "Hello, Swing World!" )
            label.setVerticalAlignment(JLabel.TOP)
            add( label )
        }
    }

    実行方法

    C:¥> groovyw Hello.groovy

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Swing World!                       |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+