# To change this template, choose Tools | Templates
# and open the template in the editor.
#puts "Hello World"
include Java
include_class javax.swing.JFrame
include_class javax.swing.JPanel
include_class javax.swing.JButton
include_class java.awt.event.ActionListener
include_class javax.swing.JOptionPane
#include_class java.awt.Container
class ButtonFrame < JFrame
def initialize
super "Hello world Swing"
setTitle__method "Button"
set_size(300,200)
panel=ButtonPanel.new
getContentPane().add(panel)
set_default_close_operation JFrame::EXIT_ON_CLOSE
set_visible true
end
end
class ButtonPanel <JPanel
def initialize
super
yellowbutton=JButton.new("Yellow")
redbutton=JButton.new("Red")
bluebutton=JButton.new("Blue")
add(yellowbutton)
add(redbutton)
add(bluebutton)
yellowbutton.addActionListener(Color_T.new("yellow"))
bluebutton.addActionListener(Color_T.new("blue"))
redbutton.addActionListener(Color_T.new("red"))
end
class Color_T
include ActionListener
def initialize(c)
@c=c
end
def action_performed(event)
JOptionPane.show_message_dialog(nil,"#{@c}")
end
end
end
ButtonFrame.new
很简单的一个小应用。通过这个小例子可以看出JRuby调用Java中的东西很方便。不过我的代码写得有点臃肿,这里主要是想明白调用的过程。
我对Java一直有点恐惧,Java要了解的东西太多了,特别是由于刚开始接触的时候,受到一定的打击,现在仍然有点惧,感觉有很多东西很深奥。但是实际上,并非如此,其实原理还是很简单的,比如这里的监听这个东西,以前很害怕这个,弄不懂。
当接触到了Ruby之后呢,对语言稍微有点理解了,也消除了恐惧的心理,敢去正视它了
然后又出现了JRuby,使得Java和Ruby更好的结合,这个结合的过程同时也是个创新的过程。
现在我感觉,通过2种语言的对比学习,可以更好的理解2种语言。
分享到:
相关推荐
2. **事件驱动编程**:Ruby的事件驱动模型,如EventMachine,可以帮助我们处理用户的输入事件,如点击、键盘输入等。这些事件可以触发相应的代码执行,实现代码编辑器的实时反馈。 3. **文本处理和语法高亮**:Ruby...
2. **事件处理**:Gtk+通过信号(signals)和回调函数(callbacks)实现事件处理。当用户与控件交互时,如点击按钮,会产生一个信号,开发者可以注册回调函数来响应这个信号,执行相应的操作。 3. **布局管理**:...
在“系统变量”区域,点击“新建”按钮,创建一个名为“JAVA_HOME”的新变量,值设定为刚才JDK6的安装目录。 2. **更新Path变量**:找到名为“Path”的系统变量,选中后点击“编辑”。在“编辑环境变量”窗口中,...
6. 确认设置,然后点击“安装”按钮。 7. 安装完成后,可以立即启动Java开发环境。 **三、JDK 11.0.1新特性** 1. **模块化系统(Project Jigsaw)**:Java 9引入了模块化系统,JDK 11进一步完善了这一特性,使得...
打开系统属性,进入“高级”选项卡,点击“环境变量”按钮。在系统变量部分,创建或编辑以下两个变量: - `JAVA_HOME`:设置为JDK的安装路径,例如“C:\Program Files\Java\jdk1.7.0_79”。 - `PATH`:在已有的...
- **生成报表**:点击“导出”按钮生成最终的报表文件。 #### 五、常见问题及解决方法 - **数据源连接失败**:检查数据源配置是否正确,确保数据库服务正常运行。 - **导出报表时出现乱码**:检查报表设计中的字符...