Java - 解析方法调用其他类
问题描述:
我想外包我的Menu-Creater,所以我创建了Class Menuhelper。Java - 解析方法调用其他类
在那里,我有一个名为“addActionListener方法”方法谁增加了一个动作到的MenuItems
public static void addActionListener(JMenuItem menuItem) //Need parsed Method
{
menuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//MethodeCall
}
});
}
如何可以解析我需要谁的方法?作为字符串?
答
您可以使用回调方法或java 8 lambda表达式。
public static void addActionListener(JMenuItem menuItem, Callback callback) //Need parsed Method {
menuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
callback.doAction();
}
});
}
+0
但是来电方有什么不同?在使用代码的地方,如果我创建一个匿名实例(或一个lambda)'Callback'或'ActionListener',则没有(很大的)区别... –
+0
这篇文章解释了两种方法中的不同之处http:/ /*.com/questions/13203966/anonymous-class-override-vs-passing-an-interface-for-designing-callbacks-in-jav –
不清楚你的意思。您是否想根据菜单项的名称创建特定的侦听器? – GhostCat
我有10菜单项始终具有相同的addActionListener,但与其他方法调用(例如,ReadFile(File tfile),LoadFile(File tfile))。所以我想用extern方法减少代码方法“addActionListener” – Drextor
@Drextor请显示重复的代码。您使用(静态!!!)方法的方法并没有真正的帮助。 –