changeset 1:fac1b8f35265

Applet.
author Mikhail Kryshen <mikhail@kryshen.net>
date Sat, 14 Jul 2012 06:32:31 +0400
parents 91ecd24948de
children 1e64a109812f
files Rakefile src/net/kryshen/charamega/ui.mirah
diffstat 2 files changed, 44 insertions(+), 14 deletions(-) [+]
line diff
     1.1 --- a/Rakefile	Sat Jul 14 05:46:29 2012 +0400
     1.2 +++ b/Rakefile	Sat Jul 14 06:32:31 2012 +0400
     1.3 @@ -1,15 +1,29 @@
     1.4  require 'mirah'
     1.5 +require 'ant'
     1.6  require 'rake/clean'
     1.7  
     1.8  SRC = FileList['src/**/*.mirah']
     1.9 -CLEAN.include('build/**/*.class')
    1.10 +
    1.11 +CLEAN.include 'build/**/*.class'
    1.12 +CLEAN.include 'dist/*.jar'
    1.13  
    1.14  task :default => [:compile]
    1.15  
    1.16  task :compile => SRC do
    1.17 -  Mirah::compile '-d', 'build', *SRC
    1.18 +  Mirah::compile '--jvm', '1.6', '-d', 'build', *SRC
    1.19  end
    1.20  
    1.21  task :run => [:compile] do
    1.22    sh 'java -cp build:res net/kryshen/charamega/Ui'
    1.23  end
    1.24 +
    1.25 +task :jar => [:compile] do
    1.26 +  ant.jar :jarfile => 'dist/charamega.jar' do
    1.27 +    fileset :dir => 'build'
    1.28 +    fileset :dir => 'res'
    1.29 +    manifest do
    1.30 +      attribute :name => 'Main-Class', :value => 'net.kryshen.charamega.Ui'
    1.31 +    end
    1.32 +  end
    1.33 +end
    1.34 +
     2.1 --- a/src/net/kryshen/charamega/ui.mirah	Sat Jul 14 05:46:29 2012 +0400
     2.2 +++ b/src/net/kryshen/charamega/ui.mirah	Sat Jul 14 06:32:31 2012 +0400
     2.3 @@ -25,9 +25,12 @@
     2.4  import java.net.URI
     2.5  
     2.6  class Ui < JPanel
     2.7 -  @@title = 'Charamega'
     2.8 -  @@version = '0.9'
     2.9 -  @@home = 'http://kryshen.net/games/'
    2.10 +
    2.11 +  def self.initialize:void
    2.12 +    @@title = 'Charamega'
    2.13 +    @@version = '0.9'
    2.14 +    @@home = 'http://kryshen.net/games/'
    2.15 +  end
    2.16  
    2.17    def initialize(root_pane:JRootPane)
    2.18      super LayoutManager(BorderLayout.new)
    2.19 @@ -86,6 +89,22 @@
    2.20      @field.repaint
    2.21    end
    2.22  
    2.23 +  def self.create_frame
    2.24 +    title = @@title
    2.25 +    SwingUtilities.invokeLater do
    2.26 +      # UIManager.setLookAndFeel UIManager.getSystemLookAndFeelClassName
    2.27 +      
    2.28 +      frame = JFrame.new title
    2.29 +      ui = Ui.new(frame.getRootPane)
    2.30 +      
    2.31 +      frame.getContentPane.add ui
    2.32 +      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
    2.33 +        .setSize(800, 600)
    2.34 +        .validate
    2.35 +        .setVisible(true)
    2.36 +    end
    2.37 +  end
    2.38 +
    2.39    private
    2.40  
    2.41    def create_status
    2.42 @@ -251,13 +270,10 @@
    2.43    end
    2.44  end
    2.45  
    2.46 -# UIManager.setLookAndFeel UIManager.getSystemLookAndFeelClassName
    2.47 +class Applet < JApplet
    2.48 +  def initialize
    2.49 +    getContentPane.add Ui.new(getRootPane)
    2.50 +  end
    2.51 +end
    2.52  
    2.53 -frame = JFrame.new 'Charamega'
    2.54 -ui = Ui.new(frame.getRootPane)
    2.55 -
    2.56 -frame.getContentPane.add ui
    2.57 -frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
    2.58 -  .setSize(800, 600)
    2.59 -  .validate
    2.60 -  .setVisible(true)
    2.61 +create_frame