Re: How to change the default application used by Desktop class to
open an image
jmtrg@hotmail.fr wrote:
On 1 avr, 10:40, Sabine Dinis Blochberger <no.s...@here.invalid>
wrote:
jm...@hotmail.fr wrote:
Hello
I use the following code to open a image file :
(java.awt.Desktop.getDesktop().open(new File(_filename))
I noticed that java launches a default application (Nero in my
example)
and I would like to change this default application (using Paint
instead)
I thought I had just to click right on this type of file, choose
another application
and say to Windows to always use this new application to open this
type of file
it works fine when I double-click on any file of this type
but java doesn't care about this change and always uses the same
default application
has anyone an idea of how I could change this default value ?
You don't - the user has to do it in their OS. And I'd be mighty annoyed
if an application changed my preferences.
You can call a specific application with Runtime.exec():
<http://www.javacoffeebreak.com/faq/faq0030.html>
if the user doesn't want to change the application that opens a file,
so much the better for him ; he has nothing to do !
but if he wants to change this application, java doesn't take into
account
the change made at the OS level unless this change has to be done at a
deeper level
such as the registry which would bother him a lot
AFAIK Java asks the OS to open the file, it is the OS that decides which
app is used, not Java.
I tried this program
------------------------------8<----------------------------
import java.io.File;
import java.io.IOException;
public class DesktopOpen {
public static void main(String[] args) {
File f = new File("C:/Temp/test.gif");
try {
java.awt.Desktop.getDesktop().open(f);
} catch (IOException e) {
e.printStackTrace();
}
}
}
------------------------------8<----------------------------
It opened the test.gif with IE as expected.
In Windows Explorer I right clicked C:\Temp\test.gif and changed the
"Opens With" program from IE to IrfanView.
I re-ran my Java App, the image now opened in IrfanView as expected.
The Java app is consistent with what I get by double clicking the file
in Windows Explorer.
Post a small compilable example that displays the problem. See
http://sscce.org
--
RGB