Support for Apple Extensions
Artem Ananiev
artem.ananiev at oracle.com
Fri Jul 5 07:31:47 PDT 2013
On 7/5/2013 3:29 PM, Robert Krüger wrote:
> On Fri, Jul 5, 2013 at 12:18 PM, Artem Ananiev <artem.ananiev at oracle.com> wrote:
>>
>> On 7/5/2013 1:20 PM, Kaydell Leavitt wrote:
>>>
>>> Hi Alan,
>>>
>>> I would say that I absolutely need the following things:
>>>
>>> 1. JFileChooser Save dialog that is native for both files and for folders
>>> 2. JFileChooser Open dialog that is native for both files and folders.
>>> 3. Print Command that is native
>>> 4. A menu jar at the top of the screen -- not at the top of the window.
>>> (Where a Mac user expects it to be.)
>>> 5. Preferences menu item where it is expected to be (in the application
>>> menu calling an ApplicationListener)
>>> 6. About menu item where it is expected to be (in the application menu
>>> calling an ApplicationListener)
>>> 7. The quit menu item working in where the user expects it (in the
>>> application menu calling an ApplicationListener).
>>> 8. The Services menu should just work.
>>>
>>> I think that would work for me.
>>
>>
>> All the above is UI related stuff (eAWT). It should work in JDK7/8 as it
>> worked in Apple JDK6, since the code was contributed to OpenJDK by Apple
>> with little or no modifications. Note, however, that it is not as supported
>> as public APIs in java.* and javax.* namespace. We don't have any plans to
>> drop support for eAWT, but all the issues in these classes will be of lower
>> priority by default.
>>
>> What about eIO? Is it used by anybody?
>
> Yep. We use com.apple.eio.FileManager.revealInFinder(File) and
> com.apple.eio.FileManager.moveToTrash(File) although, to be honest, it
> would probably not be a too terrible thing to replace those by native
> calls to their NSFileManager counterparts via JNA or something
> similar.
As someone (Alan?) wrote in previous emails, these actions look like
good candidates for java.awt.Desktop enhancements and can be implemented
on other platforms than Mac OS X. I didn't look to these two methods,
but at a glance, revealInFinder() is very close to Desktop.browse(), and
moveToTrash() can be Desktop.remove().
Thanks,
Artem
More information about the macosx-port-dev
mailing list