:arrow: Eu preciso abrir um arquivo html em uma aplicação minha. Na verdade, o que eu preciso mesmo é que uma aplicação minha abra, externamente um arquivo html. Como eu posso fazer isso? Eu fiz do jeito que está aí embaixo, mas achei muito porco, pois só funciona em Win >= 2000.
Alguma idéia :?: Eis meu jeito porco:
[code]File help = new File(“Help/index.html”);
if(!help.canRead())
throw new FileNotFoundException(“Guilherme”);
:scrambleup: Ok, first things first: minha aplicação é desktop e usa Swing. Mas, apesar de conhecer um pouco do JEditorPane, gostaria muito de evitá-lo, pois o que quero abrir é cheio de JavaScript e Applets e não tive boa experiência com JEditorPane nesse aspecto. Além do que, não quero montar meu navegador, já que o arquivo html que vou abrir é a ajuda de um programa e, portanto, cheíssima de links daqui pra ali e não quero mesmo ter que criar um navegador… (eu mencionei que o arquivo está na minha máquina?).
Mas, obrigado assim mesmo. Mais alguma idéia? :idea:
Você pode usar um componente de browser, se é que existe algo assim [ok, DEVE existir] mas o ideal é não sobrecarregar seu HTML não.
É muito fácil apra uma aplicação nativa absorver os recursos de um brwoser padrão, tipo o Mozilla, e reutilizar tudo de bom que tem, mas numa aplicação java complica muito. Ainda que alguém crie um JBrowserFrame da vida, este não vai ter tantos recursos quanto os browser normais.
:scrambleup: Deixa eu clarear a coisa um pouco mais: como disse, isso é um html de um Help (criado como WebHelp no RoboHelp), por isso, simplicidade nos htmls que quero abrir não depende de mim… Bom, eu dei uma alterada simples no código, quem sabe ajude… Continua meio porco, eu sei… Não quis usar aquele lance de descobrir o SO por função por falta de vergonha na cara (e tempo pra saber exatamente como funciona). Mas, para que funcione desse jeito, eu tenho que saber se a parte do Linux vai funcionar, e, infelizamente, minha cabeça foi doutrinada a pensar Windows e, a não ser que eu me mate (ou instale o Linux) nunca saberei se funciona.
try {
File help = new File("Help/index.html");
if(!help.canRead())
throw new FileNotFoundException("Help não encontrado!");
String caminhoAExecutar = help.getAbsolutePath();
Runtime run = Runtime.getRuntime();
String[] cmd = new String[3];
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = caminhoAExecutar;
try{
run.exec(cmd);
}
catch(IOException notWinXpOr2000){
cmd[0] = "command.exe";
try{
run.exec(cmd);
}
catch(IOException notWinAtAll){
run.exec(cmd[2]);
System.out.println("Trying Linux... Did it work? Hope so...");
}
}
}
catch (IOException ioe) {
System.err.println("Esquece, nao rolou!");
Mais idéias? :idea:
Algo para melhorar o código???
Gostei das idéias e, realmente, nada substitui a simplicidade!
Cara, dá uma olhada no Link. Ao que aprece, você vai poder usar IE ou Mozilla, não sei se browser como o Konqueror e demais vão ficar legais, ams a promessa é boa… vê lá, este código vai te causar cabelos brancos para manter deste jeito…