java - 从 javascript/rhino 调用带有 int 参数的 java 方法

标签 java javascript type-conversion rhino

我如何从 javascript/rhino 调用带有整数和 float 的重载 java 方法?

例如,我如何从 javascript/rhino 调用 java java.awt.Color(int,int,int) 构造函数? 我已经处理了下一个片段,但没有用:

var Integer = java.lang.Integer;

var color = new java.awt.Color(12,58,92); // it invokes java.awt.Color(float,float,float) and throws Wrapped java.lang.IllegalArgumentException: Color parameter outside of expected range: Red Green Blue.
var color = new java.awt.Color(new Integer(12), new Integer(58), new Integer(92) // it invokes java.awt.Color(float,float,float) and throws exception
var color = new Color(Integer.valueOf(12),Integer.valueOf(200),Integer.valueOf(80)); // it invokes java.awt.Color(float,float,float) and throws exception

最佳答案

The mechanism is documented here.基本上您可以通过以下语法访问构造函数:

js> new java.awt.Color['(int,int,int)'](1,2,3); // no spaces allowed!
java.awt.Color[r=1,g=2,b=3]

js> java.awt.Color['(java.awt.color.ColorSpace,float[],float)']
function <init>(java.awt.color.ColorSpace,float[],float)() {
        [native code, arity=0]
}

关于java - 从 javascript/rhino 调用带有 int 参数的 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18405754/

相关文章:

Java 字符串到字节数组的错误转换

java - 我如何使这个审查单词的代码起作用?

java - 看不到我在哪里除以 0?

java - Android 工具栏菜单项点击

javascript - 加载时、调整大小时和滚动时 - 运行单独功能的最佳方式是什么?

c# - 浮点到小数和小数到浮点。一般所有转换

java - 为什么我的程序会循环多次? Java小程序

javascript - 一个函数中的 Object.keys 和 Object.values

javascript - 需要更改 CouchDB 身份验证的字符串格式

java - 将java中字符串文本框的值转换为整数,以便该值可以用于乘法