سؤال

I read that via

System.setProperty("apple.awt.fileDialogForDirectories", "true");

users can select directories via a FileDialog, now the FileDialog evoces the native file chooser, so that is exactly what i want but in the line above it reads: apple.awt..., does this mean this option will only work on Mac OSX?

if(no) {
    great
} else {
    what can i do to implement this on other operating systems than?
}

Thanks for any help!

PS: I know a lot of people suggest the use of a JFileChooser, but in this case i'd very much prefer the FileDialog, except if that's impossible

هل كانت مفيدة؟

المحلول

It is exactly as you feared. AWT used native libs underneath. OSX has the feature to look for directories only, windows does not. So youre only change is to use a dialog not based on AWT, i.e. Swing or SWT.

You can define an interface with platform specifc implementations. This gives a good looking dialog on OSX and something that works on other platforms. That's what I do.

نصائح أخرى

To my knowledge, FileDialog does not support (in-code) using a directory dialog on all platforms.

You're already mentioned Swing's JFileChooser, but you may want to consider SWT for your widgets instead.

SWT is Eclipse (originally IBM)'s project to create an updated Java GUI Toolkit that still uses native widgets when they are available.

The major downside of SWT is that it is not part of the standard Java distribution... and each platform has its own SWT jar file.

Incidentally, SWT has a DirectoryDialog widget.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top