1

JavaHelpJFrame Iconの (outer の左上)を設定するにはどうすればよいですか。カテゴリとトピック(toc.xml)の設定方法は知っていますが、.xml の設定に成功しません。JFrameWindowImagesJFrame Icon

フレームを探してアイコンを設定することでプログラムで実行できますが、JavaHelp 構成ファイルを使用して宣言的にこれを行う方法を探しています。

4

2 に答える 2

1

Googleでのほとんどの回答は明らかに間違っています。helpset xml のほとんどの例では、タグの順序が間違っています。dtd と比較すると、ほとんどの例のように要素が要素の先頭ではなく、要素の最後にある必要があることがわかります。ステップ 2 と 3 はよく知られていますが、どこにも表示されていないのはステップ 1 です。

要約すると、解決策は、(1)<presentation>要素を正しい場所に配置し、(2)<image>要素を追加し、(3) マップ ファイルでそれを wel として宣言することです。

機能しないインターネット上のミーム:

  • ヘルプセットからブローカーを要求するときにプレゼンテーション名を追加します。
  • ブローカーからフレームを取得できなくなりました。API が変更されました。
于 2011-06-25T11:41:51.217 に答える
0

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();
        }
    });
   }

}    

終了!楽しむ :)

于 2013-11-07T08:27:14.647 に答える