`
googya
  • 浏览: 144128 次
  • 性别: Icon_minigender_1
  • 来自: 汉川
社区版块
存档分类
最新评论

用JRuby写个小MIDI

阅读更多
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。
    这样我觉得是更加简洁了,而且有匿名类的效果。
0
0
分享到:
评论

相关推荐

    jruby1.7.8版本呢

    JRuby 是一个开源的、高性能的 Ruby 解释器,它能够将 Ruby 代码编译成 Java 字节码,从而在 Java 虚拟机(JVM)上运行。JRuby 的出现使得 Ruby 开发者能够利用 JVM 的强大功能和丰富的库,同时也让 Java 开发者能够...

    Ruby-JRuby一个Ruby语言的Java实现

    JRuby的版本"jruby-jruby-7bee00d"可能是一个特定的Git提交版本,这表明它是一个开发版本,可能包含了最新的功能和改进。通常,这样的版本会包含一些实验性的特性,对于开发者来说,他们可以提前试用新功能并提供...

    用JRuby读取Excel文件

    标题“用JRuby读取Excel文件”涉及到的主要技术点是JRuby和处理Excel文件,这里我们将深入探讨这两个关键概念。 JRuby是Java平台上的一个Ruby实现,它允许开发者使用Ruby语言编写程序,同时利用Java的类库和运行...

    jruby-src-1.0

    JRuby是Ruby的一个实现,但它是用Java编写的,因此可以在Java虚拟机(JVM)上运行。这使得JRuby具备了几个独特的优势: 1. **平台兼容性**:由于JRuby运行在JVM上,它可以无缝地运行在任何支持JVM的操作系统上,...

    如何安装与配置JRuby

    JRuby 是一个基于 Java 平台的 Ruby 实现,它允许开发者利用 Ruby 语言的优势同时享受 Java 生态系统的强大功能。在本文中,我们将详细探讨如何安装和配置 JRuby,特别是针对 JRuby 1.1.2 版本与 Java 1.6。 **一、...

    jruby-bin-1.3.1.zip

    JRuby是Java平台上的一个实现,它允许开发者在Java虚拟机(JVM)上运行Ruby编程语言。这个“jruby-bin-1.3.1.zip”压缩包是JRuby的一个早期版本,专为Ruby语言的研发提供必要的工具和环境。在这个版本中,重点是兼容...

    org.jruby.rar

    标题 "org.jruby.rar" 暗示我们正在讨论一个与 JRuby 相关的压缩文件,其中可能包含了 JRuby 的源代码、库文件或者其他相关资源。JRuby 是一种 Java 实现的 Ruby 解释器,它允许 Ruby 代码在 JVM(Java 虚拟机)上...

    使用JRuby开发Web Service全攻略

    本文介绍了如何用JRuby开发Web Service。用JRuby开发Web Service,需要安装ActionWebService。安装完毕之后便可以开始调用及部署了。

    jruby-1.5.5+OperaWatir+RSpec

    标题 "jruby-1.5.5+OperaWatir+RSpec" 暗示了这是一个关于使用 JRuby 1.5.5 版本、OperaWatir 和 RSpec 进行自动化测试的项目或者资源集合。现在,我们将深入探讨这三个关键组件以及它们在 IT 领域中的应用。 JRuby...

    jruby_windows_1_6_4安装文件

    JRuby是一个开源的、基于Java平台的Ruby语言实现,它允许开发者在Ruby环境中使用Java类库,并且可以让Java应用程序无缝地调用Ruby代码。标题中的“jruby_windows_1_6_4安装文件”指的是JRuby的一个特定版本——1.6.4...

    JRuby在Java测试中的应用

    JRuby在Java测试中的应用主要包括两个方面:一是作为测试脚本的编写语言;二是通过其与Java之间的互操作性来增强测试的能力。Ruby语言的灵活性让开发者能够快速地构建出复杂的测试场景,而JRuby又使得这些脚本可以...

    如何监控JRuby脚本的执行

    在IT行业中,尤其是在Java与Ruby混合开发的场景中,JRuby是一个重要的工具,它允许开发者在Java平台上运行Ruby代码。由于JRuby是基于JVM(Java Virtual Machine)的,因此可以利用Java生态中的各种工具来对其进行...

    JRuby+Swing是开发人员钟情的选择

    2. **编写控制器**:用 Ruby 写出处理用户交互的逻辑。 3. **绑定视图与控制器**:Monkeybars 将这两部分连接起来,确保数据同步和事件处理。 虽然 Monkeybars 适用于复杂应用,但简单窗体可能不需要这么强大的框架...

    jruby-core-1.7.12.zip

    标题 "jruby-core-1.7.12.zip" 提供的是 JRuby 的核心库版本 1.7.12,这是一个将 Java 虚拟机(JVM)与 Ruby 语言结合的开源实现。JRuby 允许开发者在 Java 平台上运行 Ruby 代码,同时利用 Java 生态系统的强大功能...

    jRuby On Rails WEB2.0

    Ruby on Rails(简称RoR或Rails)是一个用于web开发的模型-视图-控制器(MVC)框架,用Ruby语言编写。Rails强调“约定优于配置”(Convention Over Configuration,CoC)的原则,大大简化了Web应用的开发过程,使得...

    jruby_windows1.7and bin1.7

    jruby安装包 和 jruby的lib库 JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让...

    jruby-bin-0.9.0.tar.gz

    3. **JRUBY**:JRUBY 是 Ruby 的一个实现,它完全用Java编写,能够在JVM上运行。这意味着Ruby代码可以利用Java生态系统的所有资源,如大量Java库和框架,并且能够与Java代码无缝集成。 4. **JRuby的优势**: - **...

    jruby-1.3.1.jar

    jruby-1.3.1.jar包 解决org.jruby.exceptions.JumpException 等报错

    JRuby+Netbeans开发攻略之用JRuby调用JFreeChart

    在本文中,我们将探讨如何使用JRuby和Netbeans进行开发,并着重讲解如何在JRuby环境中调用JFreeChart库来创建图表。JRuby是Java平台上的Ruby解释器,它允许Ruby开发者利用Java丰富的库资源,比如JFreeChart,这是一...

Global site tag (gtag.js) - Google Analytics