Добрый день. Написал программку при изучении JAVA (десктопную), решил приделать обычную справку. Полазав по сайтам, нашел Ссылка ,т.е. справка Oracle Help for Java (OHJ). Все вроде разжевано. Скачал. Ввел в проект:
import static javax.swing.JOptionPane.*;
// Импорт классов
import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.JColorChooser;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Scanner;
import java.util.Random;
import java.io.Serializable; // Для сохранения параметров
import java.net.URLEncoder;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import oracle.help.Help;
import oracle.help.library.helpset.HelpSet;
import oracle.help.library.helpset.HelpSetParseException;
// Образец класса показа помоши:
// Выводим на экран HELP
class ohjHelp {
public void showHelp() throws HelpSetParseException {
String helpsetFileName = "file://C:/WORKJAVA/RememberWords/src/help/myHelpSet.hs";; // HelpSet file
String firstHelpTopic = "topic1"; // Topic for first showing
Help myHelp = new Help();
Help.setHelpEncoding("UTF-8");
try {
URL urlHS = new URL(helpsetFileName);
HelpSet myHelpSet = new HelpSet(urlHS);
myHelp.addBook(myHelpSet);
myHelp.showNavigatorWindow();
myHelp.showTopic(myHelpSet, firstHelpTopic);
}
catch (Exception ex) {
System.out.println("Exception in showHelp (OHJ).");
ex.printStackTrace();
}
}
}
Потом организовал вызов:
cmenu_help.addActionListener(e -> {
System.out.println("Start OHJ...");
try {
ohjHelp MyHelp = new ohjHelp();
MyHelp.showHelp();
}
catch (HelpSetParseException d) {
d.printStackTrace();
}
});
Соответственно создал необходимые файлы для справки:
1. Образец Helpset файла (myHelpSet.hs):
<?xml version='1.0' ?>
<helpset>
<title>MyProgram</title>
<maps>
<mapref location="MyProgram.map"/>
<homeID>default</homeID>
</maps>
<view>
<name>MyProgram</name>
<label>MyProgram</label>
<type>oracle.help.navigator.tocNavigator.TOCNavigator</type>
<data engine="oracle.help.engine.XMLTOCEngine">MyProgramTOC.xml</data>
</view>
</helpset>
2.Образец Map-файла (MyProgram.map):
<?xml version='1.0' encoding='windows-1251' standalone='yes' ?>
<map version="1.0">
<mapID target="topic1" url="SomeHelpTopic1.html" />
<mapID target="topic2" url="SomeHelpTopic2.html" />
<mapID target="topic3" url="SomeHelpTopic3.html" />
<mapID target="topic4" url="SomeHelpTopic4.html" />
<mapID target="topic5" url="SomeHelpTopic5.html" />
</map>
3.Образец TOC-файла (MyProgramTOC.xml):
<?xml version='1.0' encoding='windows-1251'?>
<toc>
<tocitem text="MyProgram">
<tocitem text="Введение">
<tocitem target="topic1" text="Для кого эта программа"></tocitem>
<tocitem target="topic2" text="Что нового"></tocitem>
</tocitem>
<tocitem text="Приступая к работе">
<tocitem target="topic3" text="Системные требования"></tocitem>
<tocitem target="topic4" text="Получение помощи"></tocitem>
</tocitem>
<tocitem text="Работа с программой">
<tocitem target="topic5" text="Выход из программы"></tocitem>
</tocitem>
</tocitem>
</toc>
4. Образец одного из файлов тем (topic-file SomeHelpTopic1.html):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Topic 1</title>
</head>
<body>
<p>
<b> Topic 1 </b>
<p>
Topic 1
Это WIN-1251.
Для кого эта программа.
<hr>
<p>
</body>
</html>
Остальные 4 файла тем по аналогии.
Подключил библиотеки : help-share.jar , jewt.jar , ohj.jar , oracle_ice.jar , share.jar
Так же прописал и все файлы справки.
Использую среду NetBeans IDE 8.2 .
При отладке создание объекта myHelp еще проходит, а вот на создании myHelpSet происходит выскакивание исключения - не создает объект, т.е. летит в catch (Exception ex).
В "Выводе" пишет:
oracle.help.library.helpset.HelpSetParseException: Unknown error when parsing hs file: Unexpected IOException opening helpset file: file://C:/WORKJAVA/RememberWords/src/help/myHelpSet.hs
Может за бесплатно не хочет работать, но у человека то из сылки выходит...(
Может , кто знает, в чем может быть проблема? Подскажите пожалуйста.