include Java
include_class javax.sound.midi.MidiSystem
include_class javax.swing.JFrame
include_class java.awt.event.KeyListener
# 准备合成
hecheng = MidiSystem.synthesizer
hecheng.open
channel = hecheng.channels[0]
# 接收按键的frame
midi_frame = JFrame.new("Music Frame")
midi_frame.set_size 200, 200
midi_frame.default_close_operation = JFrame::EXIT_ON_CLOSE
# 监听键盘
midi_frame.add_key_listener KeyListener.impl { |name, event|
case name
when :keyPressed
channel.note_on event.key_char, 64
when :keyReleased
channel.note_off event.key_char
end
}
# 显示 midi_frame
midi_frame.visible = true
这样写一个MIDI是不是比Java写的简单很多,也简洁很多?
值得注意的一个小地方是,关于接口的实现。在较新版本的JRuby中,接口一般是当做模块混含进JRuby的。但是同时JRuby提供了一个接口的实现方法 impl。
这样我觉得是更加简洁了,而且有匿名类的效果。
分享到:
相关推荐
JRuby 是一个开源的、高性能的 Ruby 解释器,它能够将 Ruby 代码编译成 Java 字节码,从而在 Java 虚拟机(JVM)上运行。JRuby 的出现使得 Ruby 开发者能够利用 JVM 的强大功能和丰富的库,同时也让 Java 开发者能够...
JRuby的版本"jruby-jruby-7bee00d"可能是一个特定的Git提交版本,这表明它是一个开发版本,可能包含了最新的功能和改进。通常,这样的版本会包含一些实验性的特性,对于开发者来说,他们可以提前试用新功能并提供...
标题“用JRuby读取Excel文件”涉及到的主要技术点是JRuby和处理Excel文件,这里我们将深入探讨这两个关键概念。 JRuby是Java平台上的一个Ruby实现,它允许开发者使用Ruby语言编写程序,同时利用Java的类库和运行...
JRuby是Ruby的一个实现,但它是用Java编写的,因此可以在Java虚拟机(JVM)上运行。这使得JRuby具备了几个独特的优势: 1. **平台兼容性**:由于JRuby运行在JVM上,它可以无缝地运行在任何支持JVM的操作系统上,...
JRuby 是一个基于 Java 平台的 Ruby 实现,它允许开发者利用 Ruby 语言的优势同时享受 Java 生态系统的强大功能。在本文中,我们将详细探讨如何安装和配置 JRuby,特别是针对 JRuby 1.1.2 版本与 Java 1.6。 **一、...
JRuby是Java平台上的一个实现,它允许开发者在Java虚拟机(JVM)上运行Ruby编程语言。这个“jruby-bin-1.3.1.zip”压缩包是JRuby的一个早期版本,专为Ruby语言的研发提供必要的工具和环境。在这个版本中,重点是兼容...
标题 "org.jruby.rar" 暗示我们正在讨论一个与 JRuby 相关的压缩文件,其中可能包含了 JRuby 的源代码、库文件或者其他相关资源。JRuby 是一种 Java 实现的 Ruby 解释器,它允许 Ruby 代码在 JVM(Java 虚拟机)上...
本文介绍了如何用JRuby开发Web Service。用JRuby开发Web Service,需要安装ActionWebService。安装完毕之后便可以开始调用及部署了。
标题 "jruby-1.5.5+OperaWatir+RSpec" 暗示了这是一个关于使用 JRuby 1.5.5 版本、OperaWatir 和 RSpec 进行自动化测试的项目或者资源集合。现在,我们将深入探讨这三个关键组件以及它们在 IT 领域中的应用。 JRuby...
JRuby是一个开源的、基于Java平台的Ruby语言实现,它允许开发者在Ruby环境中使用Java类库,并且可以让Java应用程序无缝地调用Ruby代码。标题中的“jruby_windows_1_6_4安装文件”指的是JRuby的一个特定版本——1.6.4...
在IT行业中,尤其是在Java与Ruby混合开发的场景中,JRuby是一个重要的工具,它允许开发者在Java平台上运行Ruby代码。由于JRuby是基于JVM(Java Virtual Machine)的,因此可以利用Java生态中的各种工具来对其进行...
2. **编写控制器**:用 Ruby 写出处理用户交互的逻辑。 3. **绑定视图与控制器**:Monkeybars 将这两部分连接起来,确保数据同步和事件处理。 虽然 Monkeybars 适用于复杂应用,但简单窗体可能不需要这么强大的框架...
标题 "jruby-core-1.7.12.zip" 提供的是 JRuby 的核心库版本 1.7.12,这是一个将 Java 虚拟机(JVM)与 Ruby 语言结合的开源实现。JRuby 允许开发者在 Java 平台上运行 Ruby 代码,同时利用 Java 生态系统的强大功能...
Ruby on Rails(简称RoR或Rails)是一个用于web开发的模型-视图-控制器(MVC)框架,用Ruby语言编写。Rails强调“约定优于配置”(Convention Over Configuration,CoC)的原则,大大简化了Web应用的开发过程,使得...
jruby安装包 和 jruby的lib库 JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让...
3. **JRUBY**:JRUBY 是 Ruby 的一个实现,它完全用Java编写,能够在JVM上运行。这意味着Ruby代码可以利用Java生态系统的所有资源,如大量Java库和框架,并且能够与Java代码无缝集成。 4. **JRuby的优势**: - **...
jruby-1.3.1.jar包 解决org.jruby.exceptions.JumpException 等报错
在本文中,我们将探讨如何使用JRuby和Netbeans进行开发,并着重讲解如何在JRuby环境中调用JFreeChart库来创建图表。JRuby是Java平台上的Ruby解释器,它允许Ruby开发者利用Java丰富的库资源,比如JFreeChart,这是一...