在运行时更改Java中的方法

时间:2014-01-02 14:39:38

标签: java methods editor

我正在写一个使用骨骼动画的小游戏。现在举例来说,我在Skeleton类中添加了walk的方法。每个游戏都会调用它,并且模型的腿和臂的角度会发生一些变化。

现在我想要的是创建一个编辑器,您可以在JFrame上将代码编写到JTextArea中,如果确认代码,则在编辑器中编写时,步行更改方法和框架会移动。

我将编写的代码放入带有.getText()的字符串中,但是如何在运行时更改Skeleton类中的方法,以便您可以立即测试在文本区域中编写的内容?

我尝试用Javaassist做到这一点,但我没有让它工作,我现在希望有一个更简单的方法来做到这一点。

3 个答案:

答案 0 :(得分:0)

您可以尝试使用Java compiler API

答案 1 :(得分:0)

这是一个可怕的想法,即使你让它发挥作用。它将允许用户在系统上执行任意代码,这是一个安全风险。此外,它将要求每个用户都知道Java。相反,您应该允许为行为选择不同的选项。

答案 2 :(得分:0)

您可以捕获此方法的调用并执行新代码。

尝试AspectJ http://www.eclipse.org/aspectj/sample-code.html