2013-11-25 24 views
0

在某些Mac應用程序中,當文檔處於打開狀態時,窗口的標題將成爲文檔名稱,窗口將顯示圖標。右鍵單擊標題可以顯示文件的路徑。我想知道是否有辦法在Java中做到這一點。Java設置窗口的「文檔」

enter image description here

+1

不與走出去通過某種JNI/JNA解決方案AFAIK – MadProgrammer

回答

2

您可以通過設置您的JFrame的的rootPane的"Window.documentFile"客戶屬性來實現這一目標。從https://developer.apple.com/library/mac/technotes/tn2007/tn2196.html#WINDOW_DOCUMENTFILE

Window.documentFile

類型:java.io.File中

適用於:JRootPane中

此屬性增加了一個文件代理圖標的標題欄窗口。此圖標是可以拖放到Finder或Dock中的文檔的有效表示。單擊標題命令將在彈出窗口中顯示文檔的完整路徑。標題欄中的代理圖標將具有LaunchServices在Finder或Open和Save對話框中顯示的文檔圖標。該屬性可以在整個窗口的整個生命週期內隨時更改。

示例代碼:

public void open(File file) { 
    JFrame frame = new JFrame("My App"); 
    frame.getRootPane().putClientProperty("Window.documentFile", file); 
    frame.getRootPane().putClientProperty("Window.documentModified", false); 

    // Load file 
} 
+0

這是兩個蘋果的JDK 6和Oracle的JDK 7和超越正確的。 –