JavaHelpJFrame Icon
の (outer の左上)を設定するにはどうすればよいですか。カテゴリとトピック(toc.xml)の設定方法は知っていますが、.xml の設定に成功しません。JFrame
Window
Images
JFrame Icon
フレームを探してアイコンを設定することでプログラムで実行できますが、JavaHelp 構成ファイルを使用して宣言的にこれを行う方法を探しています。
Googleでのほとんどの回答は明らかに間違っています。helpset xml のほとんどの例では、タグの順序が間違っています。dtd と比較すると、ほとんどの例のように要素が要素の先頭ではなく、要素の最後にある必要があることがわかります。ステップ 2 と 3 はよく知られていますが、どこにも表示されていないのはステップ 1 です。
要約すると、解決策は、(1)<presentation>
要素を正しい場所に配置し、(2)<image>
要素を追加し、(3) マップ ファイルでそれを wel として宣言することです。
機能しないインターネット上のミーム:
Help というクラスと、クラス (Help) 内で文字列パラメーターを受け入れる setIconImage(String IconPath) という public/protected メソッドを作成します。
注: 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();
}
});
}
}
終了!楽しむ :)