2014-09-21 26 views

回答

3

您需要使用com.apple.eawt類。例如,這個scratch程序顯示的是一個Java對話框,而不是Mac對話框。

import javax.swing.*; 

import com.apple.eawt.*; 
import com.apple.eawt.AppEvent.*; 

public class Foo 
    extends JPanel 
    implements AboutHandler 
{ 

    public static void main(String[] args) 
    throws Exception 
    { 
     Foo r = new Foo(); 
    } 

    public Foo() { 
     Application.getApplication().setAboutHandler(this); 
    } 

    public void handleAbout(final AboutEvent e) { 
     JOptionPane.showMessageDialog(null, "hello, world"); 
    } 

} 

不幸的是所有這些東西都被棄用了。蘋果曾經開發和支持所有這些,但現在已經不復存在了,互聯網上有很多死鏈接。

我通過閱讀source code for these classes中的Javadoc註釋計算出API。

並運行mdfind -name apple | grep -i jar在我的機器上啓用了/usr/share/java/Stubs/AppleJavaExtensions.jar,它允許上述程序在我的機器上編譯和運行。但是我不知道該文件來自哪裏,或者它是否會在將來的Mac OS版本中使用。

相關問題