Sha256: 7847d4c65087d3a0f3a57ca4ca3dd133b729e0df8d03c50f485a26d40cad03a9

Contents?: true

Size: 894 Bytes

Versions: 51

Compression:

Stored size: 894 Bytes

Contents

require 'rjb'

Rjb::load

SwingUtilities = Rjb::import('javax.swing.SwingUtilities')
JThread = Rjb::import('java.lang.Thread')
JFileChooser = Rjb::import('javax.swing.JFileChooser')
class Run
  def initialize(&block)
    @block = block
  end
  def run
puts 'go-hello'
    @block.call
puts 'ret-hello'
  end
end

class FileChooser
  @@klass = JFileChooser
  def initialize(ext = '*', desc = 'any files')
    @selected = nil
  end

  def show()
    run = Rjb::bind(Run.new do
puts 'hello'
		      @selected = nil
		      chooser = @@klass.new()
puts 'hello'
		      ret = chooser.showOpenDialog(nil)
puts 'hello'
		      if ret == @@klass.APPROVE_OPTION 
			@selected = chooser.getSelectedFile
		      end
		    end, 'java.lang.Runnable')
    SwingUtilities.invokeAndWait(run)
  end
  attr_reader :selected
end

f = FileChooser.new
if f.show == 0
  puts f.selected.getAbsolutePath
end
puts 'bye'

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
rjb-1.3.0-x86_64-darwin-10 samples/filechooser.rb
rjb-1.3.0-x86-mswin32-60 samples/filechooser.rb
rjb-1.3.0 samples/filechooser.rb
rjb-1.2.9-x86-mswin32-60 samples/filechooser.rb
rjb-1.2.9 samples/filechooser.rb
rjb-1.2.8-x86-mswin32-60 samples/filechooser.rb
rjb-1.2.8 samples/filechooser.rb
rjb-1.2.6 samples/filechooser.rb
rjb-1.2.5 samples/filechooser.rb
rjb-1.2.4 samples/filechooser.rb
rjb-1.2.3 samples/filechooser.rb
rjb-1.2.1-x86-mswin32-60 samples/filechooser.rb
rjb-1.2.2 samples/filechooser.rb
rjb-1.2.0-x86-mswin32-60 samples/filechooser.rb
rjb-1.2.0 samples/filechooser.rb
rjb-1.1.9 samples/filechooser.rb
rjb-1.1.8 samples/filechooser.rb
rjb-1.0.11-mswin32 samples/filechooser.rb
rjb-1.0.9-mswin32 samples/filechooser.rb
rjb-1.0.8-mswin32 samples/filechooser.rb