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