如何设置JavaHelp Window
的JFrame Icon
(外部JFrame
的左上角)。我知道如何设置类别和主题Images
(toc.xml),但我没有成功设置JFrame Icon
。
我可以通过程序来完成,通过查找框架和设置图标,但我正在寻找一种使用JavaHelp配置文件以声明方式完成这项工作的方法。
谷歌上的大多数答案都是错误的。在帮助集xml的大多数示例中,标记的顺序是错误的,如果将其与dtd进行比较,您会注意到元素必须位于元素的末尾,而不是像大多数示例那样位于开头。步骤2和3是众所周知的,步骤1在任何地方都不可见。
概括一下:解决方案是(1)将<presentation>
元素放在正确的位置,(2)添加一个<image>
元素,(3)在映射文件中声明为wel。
互联网上不起作用的记忆:
- 添加演示文稿名称时从帮助集
- 从经纪人不再工作,API已经改变
创建一个名为Help的类,以及一个接受类(Help)中字符串参数的名为setIconImage(StringIconPath)的公共/受保护方法。
注意:Help类是您调用(初始化)JavaHelp API的类。
在您的setIconImage()方法中复制并粘贴以下代码:
frame.setIconImage(new ImageIcon(getClass().getResource(imagePath)).getImage());
即
public void setIconImage(String imagePath)
{
frame.setIconImage(new ImageIcon(getClass().getResource(imagePath)).getImage());
}
现在,您可以从另一个类调用帮助类。
示例
呼叫类别:
Help help = new Help();
help.setIconImage("/path_to_your_icon_image/myHelpFrameIcon_45x45.png");
帮助类别:
public class Help{
JHelp helpViewer = null;
JFrame frame;
public Help(){
try
{
ClassLoader cl = Help.class.getClassLoader();
URL url = HelpSet.findHelpSet(cl, "jhelpset.hs");
helpViewer = new JHelp(new HelpSet(cl, url));
helpViewer.setCurrentID("Simple.Introduction");
} catch (Exception e)
{
System.err.println("API Help Set not found");
}
frame = new JFrame();
frame.setSize(800,700);
frame.getContentPane().add(helpViewer);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
public void setIconImage(String imagePath){
frame.setIconImage(new ImageIcon(getClass().getResource(imagePath)).getImage());
}
public static void main(String args[]){
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run()
{
new Help();
}
});
}
}
完成!玩得开心:)