Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.

Diskuze: Zobrazení html nápovědy z jaru ve www prohlížeči

Java Java Zobrazení html nápovědy z jaru ve www prohlížeči

Avatar
h4ck1
Člen
Avatar
h4ck1:

Zdravím.
Potřeboval bych poradit. Mám napsaný program v Javě (JavaFX) a chtěl bych po zmáčknutí tlačítka help otevřít v defaultním programu nápovědu, kterou mám napsanou v html i s obrázky. Na netu jsem se dočetl, že je potřeba vykopírovat soubory do tempu a až odsud je otevřít.

Zatím mám jen vyřešen přesun index.html do tempu, což funguje dobře:

@FXML
        public void helpButtonAction(ActionEvent event) throws IOException, URISyntaxException {
                File temp = File.createTempFile("tempfiletest", ".tmp");
                String tempPath = temp.getParent();
                InputStream isIndex = getClass().getResourceAsStream("index.html");
                OutputStream osIndex = new FileOutputStream(tempPath + separator + "indexhelp.html");
                byte[] buffer = new byte[4096];
                int length;
                while ((length = isIndex.read(buffer)) > 0) {
                    osIndex.write(buffer, 0, length);
                }
                osIndex.close();
                isIndex.close();

                String b = tempPath + separator + "indexhelp.html";
                System.out.println(tempPath);

                File htmlFile = new File(b);
                Desktop.getDesktop().browse(htmlFile.toURI());
}

Potřeboval bych ještě vykopírovat do tempu adresář img s obrázky, na které v index.html odkazuji.

index.html a složku img s obrázky mám nakopírovanou v \src\application\

Poradí někdo prosím? V javě sem začátečník.

Díky moc.

 
Odpovědět 24.5.2016 16:41
Avatar
h4ck1
Člen
Avatar
h4ck1:

tím separator je myšleno \, pokud spouštím projekt na linuxu, tak je to /

 
Nahoru Odpovědět 24.5.2016 17:00
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:

Skús

Desktop.getDesktop().browse(new URI("file://index.html"));

bez toho tmp, malo by to fungovať

Editováno 1.6.2016 19:24
Nahoru Odpovědět 1.6.2016 19:23
Pomali ďalej zájdeš.
Avatar
h4ck1
Člen
Avatar
h4ck1:

Díky, ale bohužel to nefunguje:

Caused by: java.io.IOException: Failed to open file://index.html. Error message: Systém nemůže nalézt uvedený soubor.
 
Nahoru Odpovědět 1.6.2016 21:35
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:

Skús tam napísať celú cestu.

Nahoru Odpovědět 2.6.2016 18:27
Pomali ďalej zájdeš.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.