Wrap text
|
|
include Java
import java.awt.event.ActionListener
import javax.swing.JButton
import javax.swing.JFrame
class JButton
def performed(type, &block)
listener = Class.const_get("#{type.upcase}Listener").impl {|sym, *args| block.call(args[0]) }
self.send("add_#{type}_listener", listener)
end
end
button = JButton.new("hello")
frame = JFrame.new("frame")
frame.set_size(200,200)
frame.add button
frame.show
button.performed :action, {|event| event.source.text = 'goodbye'}
|