繁体   English   中英

Nashorn:如何选择构造函数来调用

[英]Nashorn: How to select constructor to invoke

我从这个页面知道我可以选择这样的方法:

API["test(Integer[])"](1);

我如何为构造函数执行此操作? 特别是,我正在尝试从Nashorn实例化java.awt.Color

var highlightColor = new java.awt.Color(1, 1, 128/255, 1);

我得到以下错误:无法明确地选择方法java.awt.Color的固定arity签名[(float,float,float,float),(int,int,int,int)]。 for argument types [java.lang.Integer,java.lang.Integer,java.lang.Double,java.lang.Integer]

我试过这个:

var highlightColor = new java.awt.Color["(float,float,float,float)"](1, 1, 128/255, 1);

但这给了我这个错误:由::: 52 TypeError:null不是一个函数

我们添加了此功能,但它仅适用于Java 8u40。 确切的语法是java.awt["Color(int, int, int)"] (签名是姓氏组件的一部分,与它对方法名称的工作方式一致)。 您可以在此时使用早期版本8u40进行试用(计划于2015年3月发布)。

你需要确保传入4个整数(或者在这种情况下为浮点数),试试这个。

var highlightColor = new java.awt.Color(1.0, 1.0, 128/255, 1.0);

通过4个整数或4个浮点数

var highlightColor = new java.awt.Color(255, 255, 128, 255);

要么

var highlightColor = new java.awt.Color(1.0, 1.0, 128/255, 1.0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM