什么';在Mac上的Java Swing应用程序中使用com.apple.eawt.ApplicationAdapter的替代方案是什么?

什么';在Mac上的Java Swing应用程序中使用com.apple.eawt.ApplicationAdapter的替代方案是什么?,java,macos,swing,Java,Macos,Swing,看起来苹果不赞成我的应用程序使用的api。不知道如何解决这个问题。具体用法如下所示: 好的,谷歌搜索一下我(对我来说是第二次成功),它在第一句话中包含: 已弃用。替换为AboutHandler、PreferencesHandler、ApprePenedListener、OpenFileHandler、PrintFileHandler、QuitHandler、QuitResponse (带有指向中提到的接口和类的链接) 因此,看起来您不应该使用一个对象子类化这个抽象类,而应该使用几个对象来实现不同

看起来苹果不赞成我的应用程序使用的api。不知道如何解决这个问题。具体用法如下所示:


好的,谷歌搜索一下我(对我来说是第二次成功),它在第一句话中包含:

已弃用。替换为AboutHandler、PreferencesHandler、ApprePenedListener、OpenFileHandler、PrintFileHandler、QuitHandler、QuitResponse

(带有指向中提到的接口和类的链接)


因此,看起来您不应该使用一个对象子类化这个抽象类,而应该使用几个对象来实现不同的目的,并将它们分别注册到您的应用程序对象中。

通常,当某些API被弃用时,其文档应该建议替换。(我对Mac的API一无所知,所以我在这里帮不上忙。)收到了,谢谢。这里有一个似乎对我仍然有效的区别:您不需要使用多个对象:您可以在一个类中实现所有接口。@Pont“适配器”类的要点是,它们对所有方法都有空的实现,并且允许您只覆盖所需的方法。这对接口不起作用(至少在我回答时不起作用,现在我们在接口中有了默认的方法)。没错,使用新的接口方法,您会得到更粗的粒度:您必须实现所有接口或不实现每个接口,而不是樱桃挑选方法。但这并没有改变我的观点,也就是你不需要像你写的那样“为不同的目的使用多个对象”:你可以使用一个实现所有相关接口的对象。