How to handle file open requests on MacOS

Danno Ferrin danno.ferrin at oracle.com
Mon Jan 5 20:25:03 UTC 2015


set the exe to install "System Wide" .. -Bwin.exe.systemWide=true via the CLI.  This will cause the application to be installed with admin privleges.

Can you open a bug for this (just cut and paste the e-mail) so it will work for local installs?

On Jan 5, 2015, at 1:09 PM, Mike Hearn <mike at plan99.net> wrote:

> OK, then I might switch (or maybe not, as my current solution works ...)
> 
> BTW I noticed that the javapacker ISS changes put the file association entries into HKEY_CLASSES_ROOT. Doing this results in an error half way through setup if you don't run the installer with admin privs. The current installer setup runs just fine with lowest privs, so it'd be perhaps nicer to put the registry entries under HKEY_CURRENT_USER\SOFTWARE\Classes instead:
> 
> http://support.microsoft.com/kb/257592
> 
> On Mon, Jan 5, 2015 at 8:59 PM, Danno Ferrin <danno.ferrin at oracle.com> wrote:
> This code works inside of a JavaFX application too, just tried it locally.  
> 
> You may be thinking of an older iteration of the apple application listener classes or perhaps the native level of the code.
> 
> On Jan 5, 2015, at 11:04 AM, Mike Hearn <mike at plan99.net> wrote:
> 
>> Scene Builder doesn't do it this way - AFAICT you're only allowed to have one such event handler registered with the OS and JavaFX already registers one ... it just doesn't expose the resulting Java events via public API.
>> 
>> On Mon, Jan 5, 2015 at 6:50 PM, Danno Ferrin <danno.ferrin at oracle.com> wrote:
>> Oh, yes.  Mac has it's own Applicaiton class.  Here's the imports for the second file...
>> 
>> import com.apple.eawt.AppEvent;
>> import com.apple.eawt.Application;
>> import java.io.File;
>> import java.util.List;
>> import javax.swing.SwingUtilities;
>> 
>> The com.apple.eawt stuff is shipped with Oracle JRE and JDK, but like I said in my previous mail you need to pass a flag to the compiler to turn off it's index and read the jar.
>> 
>> The JavaDoc has gone MIA though -- https://bugs.openjdk.java.net/browse/JDK-8027638 but you can peruse the source code to see the details, it's all OpenJDK - http://hg.openjdk.java.net/jdk8u/jdk8u40/jdk/file/564bca490631/src/macosx/classes/com/apple/eawt
>> 
>> On Jan 5, 2015, at 10:43 AM, Mike Hearn <mike at plan99.net> wrote:
>> 
>> > What is Application.getApplication() here? The JavaFX Application class does not have a setOpenFileHandler method. Is that a Mac-specific API?
>> >
>> > It's too bad that 8u40 won't have this. Being able to easily open double clicked files is pretty basic. Perhaps post 8u40 the JFX team could go through Scene Builder and identify everywhere it relies on internal APIs or custom magic and suck it into the core API, as then you'd have confidence that an app of real complexity can be done entirely with documented stuff.
>> 
>> 
> 
> 



More information about the openjfx-dev mailing list