JRuby 在 awt.Image 中没有 MemoryImageSource 吗?
Does JRuby not have MemoryImageSource in awt.Image?
使用:jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Server VM 1.7.0_76-b13 +indy [linux- i386]
当我尝试使用 java.awt.Image 中的内存图像源时,出现 "uninitialized constant" 错误。如果我明确地做
import java.awt.Image.MemoryImageSource
然后我得到 Java::JavaAwt::Image:Class 的“未定义方法‘MemoryImageSource’”
“。JRuby 是否出于某种原因不支持此 class?或者,MemoryImageSource 不知为何不在 1.7 中?
编辑:我写了一个快速 Java 测试:
import java.awt.image.MemoryImageSource;
class HelloWorldApp {
public static void main(String[] args) {
MemoryImageSource ms;
System.out.println("Hello World! I can find MemoryImageSource"); // Display the string.
}
}
而且我在查找 MemoryImageSource 时没有遇到任何问题,所以问题似乎出在 JRuby.
java -version
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) Server VM (build 24.76-b04, mixed mode)
编辑:
意识到其他 Java 方面在 JRuby 中是否正常工作尚不清楚(例如,我可以创建一个 JFrame 并使用 JPanel 在其上绘制小方块)。
编辑:
也许问题出在我尝试导入 MemoryImageSource 的方式上?当我编写一个使用 MemoryImageSource 的 Java class 时,我可以从 JRuby 访问它(只是不能直接访问 MemoryImageSource)。目前,这是一个不错的解决方法,因为我的 java returns 我从 MemoryImageSource 创建的图像没有 Ruby 抱怨。
不过我还是很好奇我是怎么出错的。
你只是做了一些完全不同的事情(注意合适的大小写):
java_import java.awt.Image.MemoryImageSource
先解决
java.awt.Image
在您的情况下(不幸的是)存在,然后尝试在 Java class
上调用 MemoryImageSource
方法
你想要的是 java_import java.awt.image.MemoryImageSource
因此 JRuby 假设 java.awt.image
是一个包并在它下面寻找 class
使用:jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Server VM 1.7.0_76-b13 +indy [linux- i386]
当我尝试使用 java.awt.Image 中的内存图像源时,出现 "uninitialized constant" 错误。如果我明确地做
import java.awt.Image.MemoryImageSource
然后我得到 Java::JavaAwt::Image:Class 的“未定义方法‘MemoryImageSource’” “。JRuby 是否出于某种原因不支持此 class?或者,MemoryImageSource 不知为何不在 1.7 中?
编辑:我写了一个快速 Java 测试:
import java.awt.image.MemoryImageSource;
class HelloWorldApp {
public static void main(String[] args) {
MemoryImageSource ms;
System.out.println("Hello World! I can find MemoryImageSource"); // Display the string.
}
}
而且我在查找 MemoryImageSource 时没有遇到任何问题,所以问题似乎出在 JRuby.
java -version
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) Server VM (build 24.76-b04, mixed mode)
编辑:
意识到其他 Java 方面在 JRuby 中是否正常工作尚不清楚(例如,我可以创建一个 JFrame 并使用 JPanel 在其上绘制小方块)。
编辑:
也许问题出在我尝试导入 MemoryImageSource 的方式上?当我编写一个使用 MemoryImageSource 的 Java class 时,我可以从 JRuby 访问它(只是不能直接访问 MemoryImageSource)。目前,这是一个不错的解决方法,因为我的 java returns 我从 MemoryImageSource 创建的图像没有 Ruby 抱怨。
不过我还是很好奇我是怎么出错的。
你只是做了一些完全不同的事情(注意合适的大小写):
java_import java.awt.Image.MemoryImageSource
先解决
java.awt.Image
在您的情况下(不幸的是)存在,然后尝试在 Java class
MemoryImageSource
方法
你想要的是 java_import java.awt.image.MemoryImageSource
因此 JRuby 假设 java.awt.image
是一个包并在它下面寻找 class