Archive for 11月 19th, 2012

  1. Hello, AWT(JRuby) World!

    Posted on 11月 19th, 2012 by cx20

    AWT(JRuby)

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

    ソースコード

    require "java"
     
    import java.lang.System
    import java.awt.Frame
    import java.awt.Label
    import java.awt.FlowLayout
    import java.awt.event.WindowAdapter
     
    class Hello < Frame
      def initialize(title)
        super(title)
        self.addWindowListener(HelloWindowAdapter.new)
        self.setSize(640, 480)
     
        self.setLayout(FlowLayout.new(FlowLayout::LEFT))
     
        @label = Label.new('Hello, AWT World!')
        self.add(@label)
      end
    end
     
    class HelloWindowAdapter < WindowAdapter
      def windowClosing(e)
        System.exit(0)
      end
    end
     
    @frame = Hello.new('Hello, World')
    @frame.setVisible(true)

    実行方法

    C:¥> jrubyw Hello.rb

    実行結果

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