Abrir um arquivo de outro programa a partir de minha aplicação java - swing [RESOLVIDO]

Olá galera, estou fazendo o levantamento das funcionalidades de um sistema que irei desenvolver para um cliente e me deparei com o seguinte problema:

Preciso fazer uma aplicação java se (swing) que “simule” o windows explorer para que o usuário possa navegar dentro das pastas de cada cliente e executar o arquivo que esta nesta pasta direto de minha aplicação.

Ex. se ele acessar uma pasta que tenha um arquivo .doc e um arquivo do autocad, ao dar um duplo click no arquivo ele chame a aplicação responsável, respectivamente word e o autocad.

Quanto a “simulação” do windows explorer creio que seja possível fazer utilizando o jtree para criação da arvore de arquivos, o problema consiste justamente na abertura do arquivo em sua respectiva aplicação.

Espero ter conseguido passar minha necessidade!

Grato a todos pela ajuda!

Abraços

Para isso, você usa a classe Desktop. Dá uma olhada:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

Se você estiver usando Java 5 ou anterior, precisa fazer com Runtime.exec. Mas a solução dificilmente ficará multi-plataforma. No caso do Windows, use o comando start <nomedoarquivo>

[quote=ViniGodoy]Para isso, você usa a classe Desktop. Dá uma olhada:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

Se você estiver usando Java 5 ou anterior, precisa fazer com Runtime.exec. Mas a solução dificilmente ficará multi-plataforma. No caso do Windows, use o comando start <nomedoarquivo>[/quote]

Olhei rapidinho aqui na web e assim q for pra casa vou implementar algo pra testar, mas aparentemente pelo q li é realmente o q preciso pois estou usando java 6!

Assim q testar te aviso se funcionou legal!

Muito obrigado pela ajuda! :smiley:

ViniGodoy fiz os testes aqui e essa api é exatamente o que preciso, funcionou perfeitamente!

Muito obrigado pela ajuda!

Olá vini, seguindo sua dica sobre o uso do desktop api funcionou td certinho cara, ja te agradeço, agora estou com um probleminha quanto a abrir aquivos de uma maq. da rede!

Ai eu te pergunto, vc já testou a Desktop API pra abrir aquivos pela rede???

Estou aqui me matando nos forum’s se eu descobrir algo antes de vc me responder posto aqui!

Mais uma vez obrigado cara!

Abraço!

:smiley: Resolvido!!!
O q estava ocorrendo é q a Desktop API não abre arquivo que tenha espaço em branco no nome!!!
Só travar na aplicação e concientizar o cliente…hahahh

Valeu pela força!!!

Tem como fazer esses mesmos procedimentos, de abrir outros programas a partir do meu sistema desenvolvido, só que em uma aplicação Web?

olá gilsonsbf, testei apenas em aplicações desktop não sei te dizer quanto ao uso em aplicações web, mas creio q vc possa permitir ao usuario fazer o download do arquivo sendo assim na hora de abrir o proprio S.O. ja te da a opção de abrir o arquivo com sua aplicação default.

A não ser é claro q vc baixe uma copia do arquivo em um diretorio temporário pré-definido e então execute este arquivo por meio da Desktop API, creio q isto seja possivel tranquilamente de ser implementado.

Qualquer coisa posta ai suas duvidas e resultados.

[]'s

Em caso do aplicativo estar hospedado na internet, só teria de fazer mesmo se esse sistema interagisse com um “agente” instalado na maquina. Mas estou falando no caso desse sistema estar em um servidor local, ou seja, uma aplicação intranet usando a plataforma JEE. Se alguem já conseguiu me da uma dica.

Obrigado.