对于其他可能遇到此问题的人来说,有一个很好的例子here http://my.opera.com/sutabi/blog/putting-the-java-into-javascript-with-rhino(作者用它来扩展awt.Canvas
).
var smileyCanvas = new JavaAdapter(awt.Canvas, {
paint: function (g) {
var size = this.getSize();
var d = Math.min(size.width, size.height);
var ed = d / 20;
var x = (size.width - d) / 2;
var y = (size.height - d) / 2;
// draw head (color already set to foreground)
g.fillOval(x, y, d, d);
g.setColor(awt.Color.black);
g.drawOval(x, y, d, d);
// draw eyes
g.fillOval(x+d/3-(ed/2), y+d/3-(ed/2), ed, ed);
g.fillOval(x+(2*(d/3))-(ed/2), y+d/3-(ed/2), ed, ed);
//draw mouth
g.drawArc(x+d/4, y+2*(d/5), d/2, d/3, 0, -180);
}
});
There's 有关 MDN 的更多信息 http://www.mozilla.org/rhino/scriptjava.html#javaadapter,包括简要说明和调用语法示例。